我有一個關於從Scala類中呈現JSON對象的簡單問題。爲什麼我必須實現解串器(讀,寫)。使用Play呈現JSON!和斯卡拉
我有以下的情況下類:
case class User(firstname:String, lastname:String, age:Int)
而且在我的控制器:
val milo:User = new User("Sam","Fisher",23);
Json.toJson(milo);
我得到的編譯錯誤:沒有Json的解串器發現類型models.User。嘗試爲此類型實現隱式Writes或Format。
在我以前的項目中,我必須在類中實現一個讀寫器對象,以便它能夠工作,並且我覺得它很煩人。
object UserWebsite {
implicit object UserWebsiteReads extends Format[UserWebsite] {
def reads(json: JsValue) = UserWebsite(
(json \ "email").as[String],
(json \ "url").as[String],
(json \ "imageurl").as[String])
def writes(ts: UserWebsite) = JsObject(Seq(
"email" -> JsString(ts.email),
"url" -> JsString(ts.url),
"imageurl" -> JsString(ts.imageurl)))
}
}