2013-03-04 36 views
0

我有下面的代碼:的Json API - 仰望更深

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

的問題是,代碼似乎只看成JSON文件的第一個「層」,給我一個錯誤時JsObject被包裝成一個數組。

爲了更好地說明這一點:

此JSON的工作原理:

{ 
    fieldName: 123 
} 

這並不:

[ 
    { 
    fieldName: 123 
    } 
] 

所以,我怎麼查找的字段名的值在第二JSON?

回答

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