让我们假设有一个 json 对象测试。它有两种格式:
{
"name": "Test",
"id": "41"
}
和
{
"object": {
"name": "Test",
"id": "41"
}
}
我创建了 Test.scala :
case class Test (name: String, id: String)
object Test {
implicit object FopReads extends Format[Test] {
def reads(json: JsValue): Test = {
Test (
(json \ "name").as[String],
(json \ "id").as[String]
)
}
def writes(ts: Test) = JsObject(Seq(
"name" -> JsString(ts.name),
"id" -> JsString(ts.id)
))
}
}
如您所见,实际上,我只处理第一种格式。我的问题是:如何轻松实现Format[Test]
它可以读写两种格式?我知道 json 机制在 play 2.10 中发生了变化。我应该改变这个版本来做我想做的事吗?
感谢您的时间 !