[英]Add/Remove elements in a JSON Array in Scala/Play
我有一個非常復雜的JSON對象,其中包含一些我需要更新,刪除和添加元素的JSON數組。 為此,我試圖使用一個JsPath來直接指向需要刪除的數組內的對象,例如:
/priceLists(1)/sections(0)/items(0)
刪除我嘗試使用json.prune的元素,它不起作用,我收到此錯誤:error.expected.jsobject
將是最好的方法嗎?
您的問題缺少精確的上下文(即json數據的結構),但讓我們使用已有的內容。
您收到的錯誤消息很清楚,您只能在json對象上調用prune,以修剪其值之一。 您不能使用它來修剪json數組的元素。
我只能建議您使用json.update,說明像prune一樣,update僅適用於json對象。 在更新的主體中,像平常使用scala / java數據類型一樣,對數組進行處理。
__.json.update(__.reads[JsArray].map { jsArray =>
val removedElement = JsArray(jsArray.value.filter(_ == ???))
val addedElement = removedElement :+ JsBoolean(true)
addedElement
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.