我有以下JSON文档,我想从中删除"roles"字段的数组值中的"roleId2"元素:
{
"id" : 12345,
"firstName": "SomeFirstName",
"lastName": "SomeLastName",
"roles":["roleId1", "roleId2", "roleId3"]
}
Run Code Online (Sandbox Code Playgroud)
如何编写JSON补丁文档来删除该元素?以下表达式是否有效?
{"op": "remove", "path":"/roles", "value": "roleId2"}
Run Code Online (Sandbox Code Playgroud)
或者,它应该是这样的(因为文档中的"角色"值是一个数组)?
{"op": "remove", "path":"/roles", "value": ["roleId2"]}
Run Code Online (Sandbox Code Playgroud)
从阅读RFC 6902,我不清楚哪一个 - 如果 - 是正确的.RFC提到了以下行为,但我不确定它是否与此相关.
如果从数组中删除元素,则指定索引上方的任何元素都会向左移动一个位置.
从数组中删除索引1处的项的正确补丁是:
{"op": "remove", "path": "/roles/1"}
Run Code Online (Sandbox Code Playgroud)
请参阅JSFiddle的工作示例(使用Fast-JSON-Patch)
这不受RFC 6902支持。甲不可能性修订的JSON贴片格式正被讨论的,其可以支持基于值的阵列操作。
| 归档时间: |
|
| 查看次数: |
5798 次 |
| 最近记录: |