我有以下代码:
(json \ field.name).as[Int]
问题是,代码似乎只查看 json 文档的第一个“层”,当 JsObject 被包装到一个数组中时给我一个错误。
为了更好地说明这一点:
这个json有效:
{
fieldName: 123
}
这不是:
[
{
fieldName: 123
}
]
那么,如何在第二个 json 中查找 fieldName 的值?
我有以下代码:
(json \ field.name).as[Int]
问题是,代码似乎只查看 json 文档的第一个“层”,当 JsObject 被包装到一个数组中时给我一个错误。
为了更好地说明这一点:
这个json有效:
{
fieldName: 123
}
这不是:
[
{
fieldName: 123
}
]
那么,如何在第二个 json 中查找 fieldName 的值?
正如你所说,这个 json 是一个数组,其中第一个值是你的对象。
您可以使用序数遍历来获取第一个对象,并对其进行解析。
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