我正在做一个小项目,尝试让 Scala/Play 后端正常工作。我试图让它返回并在 Web 服务端处理 JSON。我似乎无法弄清楚如何让 JSON 编组和解组工作。有人可以帮我解决这个问题吗?我正在使用 Play 2.1 和 Scala 2.10。我得到的错误是“重写方法读取类型的特征读取(json:play.api.libs.json.JsValue)play.api.libs.json.JsResult [models.Address];方法读取具有不兼容的类型”
已编辑。其他人给了我解决方案。对于阅读,您必须使用 JsSuccess,而不是 JsResult。
case class Address(id: Long, name: String) object Address { implicit object AddressFormat extends Format[Address] { def reads(json: JsValue):Address = JsSuccess(Address( (json \ "id").as[Long], (json \ "name").as[String] )) def writes(address: Address): JsValue = JsObject(Seq( "id" -> JsNumber(address.id), "name" -> JsString(address.name) )) } }