从数组中删除元素的 JSON Patch 格式是什么?

2024-01-24

我有以下 JSON 文档,我想从中删除“roles”字段的数组值中的“roleId2”元素:

{
  "id" : 12345,
  "firstName": "SomeFirstName",
  "lastName": "SomeLastName",
  "roles":["roleId1", "roleId2", "roleId3"]
}

如何编写 JSON 补丁文档来删除该元素?下面的表达式有效吗?

{"op": "remove", "path":"/roles", "value": "roleId2"}

或者,它应该看起来像这样(因为文档中的“roles”值是一个数组)?

{"op": "remove", "path":"/roles", "value": ["roleId2"]}

来自阅读RFC 6902 https://www.rfc-editor.org/rfc/rfc6902#page-10,我不清楚哪一个(如果有的话)是正确的。 RFC 提到了以下行为,但我不确定它是否与此处相关。

如果从数组中删除一个元素,则该元素上方的任何元素 指定的索引向左移动一位。


从数组中删除索引 1 处的项目的正确补丁是:

{"op": "remove", "path": "/roles/1"}

请参阅工作示例JSFiddle http://jsfiddle.net/warpech/a26zvdra/ (using 快速 JSON 补丁 https://github.com/Starcounter-Jack/Fast-JSON-Patch)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从数组中删除元素的 JSON Patch 格式是什么? 的相关文章

随机推荐