要素を配列に追加しようとしています。しかし、私は配列alreadが存在することを確認することはできません。したがって、作成しない場合は作成する必要があります。jsonpatch配列に要素を追加し、要素が存在しない場合に作成する
この例では動作します:
ソースJSON:
{
"data": []
}
パッチドキュメント:
ソースJSON::
[{
"op":"add",
"path":"/data/-",
"value": "foo"
}]
しかし、この場合には、それは何も追加しません
{}
私が最初に空の配列を追加し、追加することで解決策が、これは常に明確な既存のエントリを試してみました:
[{
"op":"add",
"path":"/scores",
"value": []
},
{
"op":"add",
"path":"/scores/-",
"value": {
"time":1512545873
}
}]
は、私が何かを逃したか、スペックで、このための解決策が存在しないことがありますか?
あなたのパッチが完全に右です。あなたはここでそれを試すことができます:https://json8.github.io/patch/demos/apply/ –
多分私の質問は十分詳細ではありません。私の例は働いていますが、結果は私が必要とするものではありません。 これは、ある要素を別の要素に追加するための実例です:https://jsfiddle.net/s22ksqf8/ソース文書が空の場合、これは機能しません。 2番目の例(https://jsfiddle.net/67xLty9n/)を使用すると、追加された項目のみが結果ドキュメントに表示されます – nblum
ああ、私はあなたの質問を誤解しました。あなたは純粋なパッチでこれを行うことはできません、あなたはあなたのJSでいくつかのロジックが必要になります。私は答えを書くつもりです。 –