문제
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