문제

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]
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top