0

次のコードがあります。

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

問題は、コードがjsonドキュメントの最初の「レイヤー」のみを調べているように見え、JsObjectが配列にラップされているときにエラーが発生することです。

ポイントをよりよく説明するには:

このjsonは機能します:

{ 
  fieldName: 123 
}

これはしません:

[ 
  { 
    fieldName: 123 
  } 
]

では、2 番目の 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 に答える