私は小さなプロジェクトに取り組んでおり、Scala/Play バックエンドを機能させようとしています。私はそれを返して、Web サービス側で JSON を処理しようとしています。JSON のマーシャリングとアンマーシャリングを機能させる方法がわかりません。誰かがこの問題について私を助けてくれますか? Play 2.1 と Scala 2.10 を使用しています。私が得るエラーは、「タイプの特性読み取りでメソッド読み取りをオーバーライドしています(json:play.api.libs.json.JsValue)play.api.libs.json.JsResult [models.Address];メソッド読み取りには互換性のない型があります」
編集しました。他の誰かが私に解決策を教えてくれました。読み取りには、JsResult ではなく JsSuccess を使用する必要があります。
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) )) } }