0

我有以下代码:

(json \ field.name).as[Int]

问题是,代码似乎只查看 json 文档的第一个“层”,当 JsObject 被包装到一个数组中时给我一个错误。

为了更好地说明这一点:

这个json有效:

{ 
  fieldName: 123 
}

这不是:

[ 
  { 
    fieldName: 123 
  } 
]

那么,如何在第二个 json 中查找 fieldName 的值?

4

1 回答 1

1

正如你所说,这个 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
于 2013-03-04T20:44:16.610 回答