Json API - 深入了解

时间:2013-03-04 20:03:43

标签: json playframework-2.0

我有以下代码:

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

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

为了更好地说明这一点:

这个json的作品:

{ 
  fieldName: 123 
}

这不是:

[ 
  { 
    fieldName: 123 
  } 
]

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

1 个答案:

答案 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