HTTP PATCH:用于添加到空数组的正确JSON补丁表示法

时间:2016-12-05 19:34:38

标签: arrays json api architecture http-patch

给出类似下面的JSON:

{
    "pageId": 2,
    "page_title": "My page",
    "order": 1,
    "active": true,
    "layout": null,
    "unitId": 1,
    "mediaContainers": [

    ]
  },

使用JSON Patch表示法将项目添加到mediaContainers数组的正确方法是什么?我试过了

{
    "op": "add",
    "path": "/mediaContainers/-",
    "value": {
        "type": "video",
        "mediaContainerVideos": []
    }
}

{
    "op": "add",
    "path": "/mediaContainers/0",
    "value": {
        "type": "video",
        "mediaContainerVideos": []
    }
}

没有成功,现在这是有道理的,因为这个数组是空的。从我在规范中看到的,所有的例子都处理非空数组,所以我在这里有点亏。

1 个答案:

答案 0 :(得分:2)

根据规范的正确方法(尽管没有空数组的例子)是" - ":/mediaContainers/-

  

没有成功

我认为这是您正在使用的库的错误,因为规范here说"可以使用 - 字符而不是索引插入数组的末尾。&#34 ;。空数组并不排除在外。