9

我有一个像这样的 json 对象:

{
    "content" : [
        {
            "id" : 54
            "foo" : "bar"
        },
        {
            "id" : 43
            "foo" : "bar"
        },
        {
            "id" : 76
            "foo" : "bar"
        }
    ]
}

如果我想将多个项目添加到内容数组(顺序无关紧要),我可以使用带有单行/操作的 json 补丁添加到它吗?

{ "op": "add", "path": "/content/-", "value": [
        {
            "id" : 34
            "foo" : "bar"
        },
        {
            "id" : 23
            "foo" : "bar"
        },
        {
            "id" : 87
            "foo" : "bar"
        }
    ] 
}

或者我是否必须为每个要添加的对象添加一行?

编辑:要清楚我想追加,而不是替换内容。

4

1 回答 1

1

不幸的是,这似乎(还没有?)可能......正如 Json Patch 规范所述:

https://www.rfc-editor.org/rfc/rfc6902#section-4.1

“添加”操作执行以下功能之一,具体取决于目标位置引用的内容:

  • 如果目标位置指定了数组索引,则将新值插入到指定索引处的数组中。

  • 如果目标位置指定了一个尚不存在的对象成员,则将一个新成员添加到该对象。

  • 如果目标位置指定了一个确实存在的对象成员,则替换该成员的值。

于 2021-04-08T15:33:10.133 回答