私は Play の初心者で、Web アプリケーションを Play 2.0.4 から新しいピカピカの Play 2.1-RC2 に移行しようとしています。新しい JSON 処理が原因で、コードがコンパイルされません。
Mandubians ブログ、Play 2.1 移行ガイド、およびPlay JSON ライブラリ ドキュメント (ベータ版)を読みましたが、コードを移行する最善の方法が何であるかはまだわかりません。
F.ex。File
暗黙の Read-Object (Play 2.0) で呼び出されるモデルがあります。
object File {
implicit object FileReads extends Reads[File] {
def reads(json: JsValue) = File(
(json \ "name").as[String],
(json \ "size").as[Long]
)
}
}
コントローラーで次のように使用します(Play 2.0):
val file = webserviceResult.json.as[models.File]
Play 2.1 移行ガイドでは、次のようにリファクタリングするJsSuccess()
ように指示されています (Play 2.1?):
object File {
implicit object FileFormat extends Format[File] {
def reads(json: JsValue) = JsSuccess(File(
(json \ "name").as[String],
(json \ "size").as[Long]
))
}
}
しかし、この暗黙的な変換をどのように使用できますか?
それとも、Play for Scala-bookのTwitter-exampleimplicit val
のように -stuffを使用する方が良いですか? JsValue を Scala 値に変換する最良の方法は何ですか?