まず第一に、私はPlay2Scalaを初めて使用します。モデルオブジェクトをJSONに変換したりJSONから変換したりしようとしています。
このブログによるとhttp://mandubian.com/2012/10/01/unveiling-play-2-dot-1-json-api-part2-writes-format-combinators/ これは私が試したものです
case class Facility(id:Pk[Int],name:String)
object Facility{
implicit val facilityWriter = (
(__ \ "id").write[Pk[Int]] and
(__ \ "name").write[String]
)(unlift(Facility.unapply))
次に、Pk[Int]のJSONデシリアライザーが見つからないというエラーが表示されました。
だから私はこのようなことを試しました(少しグーグルした後)
implicit object PkFormat extends Format[Pk[Int]] {
def reads(json:JsValue): Pk[Int] = Id(json.as[Int])
def writes(id:Pk[Int]):JsNumber = JsNumber(id.get)
}
正確に何が起こっているのかわかりません。coudlntは、anormをシリアル化/逆シリアル化する方法の例を見つけました。