2017-08-08 13 views
0

要素を更新、削除、追加するために必要なJSON配列を含むかなり複雑なJSONオブジェクトがあります。私はjson.pruneを使用しようとした要素を削除するScala/PlayでJSON配列の要素を追加/削除する

/priceLists(1)/sections(0)/items(0)

:私は、のようなものを削除する必要があり、配列内のオブジェクトを直接指すJsPathを使用しようとしていることを行うには それは動作しません、私はこのエラーが表示されます:error.expected.jsobject

これを行うには最良の方法はありますか?

答えて

0

あなたの質問には、正確なコンテキスト(つまり、jsonデータの構造)が欠けていますが、私たちが持っているものとしましょう。

エラーメッセージは表示されません。jsonオブジェクトのプルーンのみをプルーンして値の1つをプルーニングできます。 json配列の要素を整理するために、それを使用することはできません。

json.updateを使用することをお勧めします。プルーンのように、更新はjsonオブジェクトでのみ機能します。更新の本体では、通常はscala/javaデータ型と同様に配列を操作します。

__.json.update(__.reads[JsArray].map { jsArray => 
    val removedElement = JsArray(jsArray.value.filter(_ == ???)) 
    val addedElement = removedElement :+ JsBoolean(true) 
    addedElement 
}) 
関連する問題