質問
json配列を更新しようとしています。このようなJSONがある場合:
{
"value":[
{
"name":{
"first":"Bob",
"last":"Pegelano"
},
"age":31,
"email":"bob@gmail.com"
},
{
"name":{
"first":"Majkl",
"last":"Skot"
},
"age":321,
"email":"gecko@gmail.com"
}]
}
.
私はこのような配列を簡単に更新することができます。
val jsarrayUpdate = (__ \ 'value).json.update(
__.read[JsArray].map{ o => o :+ Json.obj( "field243" -> "coucou" ) }
)
myJson.transform(jsarrayUpdate)
.
しかし、私はキーなしで単純なアレイJSONを持っています:
[{
"name":{
"first":"Bob",
"last":"Pegelano"
},
"age":31,
"email":"bob@gmail.com"
},
{
"name":{
"first":"Majkl",
"last":"Skot"
},
"age":321,
"email":"gecko@gmail.com"
}]
.
とこのコマンドで編集できることを望んでいました:
val jsarrayUpdate2 = __.json.update(
__.read[JsArray].map{ o => o :+ Json.obj( "field243" -> "coucou" ) }
)
.
これは働いていないことも、過去2時間で試した他のものでもありません。私は何を間違っていますか?
ありがとうございました。
解決
はどうですか
jsArray.as[List[JsObject]].map {i => i ++ Json.obj( "field243" -> "coucou")}
.
これはあなたにList[JsObject]
を与えます。必要な場合は、
JsArray
に変換できます。
Json.toJson(listOfJsObjects).as[JsArray]
. 所属していません StackOverflow