题
我试图更新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" ) }
)
这不起作用,也不是我在过去两个小时内尝试过的其他任何东西。我做错了什么?
谢谢!.
解决方案
那呢?
jsArray.as[List[JsObject]].map {i => i ++ Json.obj( "field243" -> "coucou")}
这会给你一个 List[JsObject]
.如果您需要,您可以将其转换回 JsArray
与
Json.toJson(listOfJsObjects).as[JsArray]
不隶属于 StackOverflow