我有以下代码:
(json \ field.name).as[Int]
问题是,代码似乎只看到json文档的第一个“层”,当JsObject被包装到一个数组中时给我一个错误。
为了更好地说明这一点:
这个json的作品:
{
fieldName: 123
}
这不是:
[
{
fieldName: 123
}
]
那么,如何在第二个json中查找fieldName的值?
答案 0 :(得分:1)
正如你所说,这个json是一个数组,其中第一个值是你的对象。
您可以使用ordinal traversing获取第一个对象,然后对其进行解析。
scala> val json = Json.arr(Json.obj("value" -> 10))
scala> json(0)
res0: play.api.libs.json.JsValue = {"value":10}
scala> (json(0) \ "value").as[Int]
res1: Int = 10