التحول على مجموعة جسون بسيطة
-
02-01-2020 - |
سؤال
ايم محاولة تحديث جسون صفيف.إذا كان لدي جسون مثل هذا واحد:
{
"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)
ولكن لدي مجموعة بسيطة جسون دون أي مفتاح:
[{
"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