簡體   English   中英

在Scala / Play中添加/刪除JSON數組中的元素

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM