You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JSON Patch移除数组多个元素的正确语法是什么?

问题

假设我有如下实体:

{
  "list": ["foo", "qux", "bar"]
}

若我想使用包含两个操作的单个JSON Patch移除"foo"和"bar",正确的语法是什么?

选项1

该选项假设操作执行时索引保持不变。

[
  { "op": "remove", "path": "/list/0" }, // 移除 "foo"
  { "op": "remove", "path": "/list/2" }  // 使用原索引移除 "bar"
]

选项2

该选项假设第一个操作执行后索引会发生偏移。

[
  { "op": "remove", "path": "/list/0" }, // 移除 "foo"
  { "op": "remove", "path": "/list/1" }  // 使用新索引移除 "bar"
]

选项3

该选项考虑到可能出现意外行为并做了防护。

[
  { "op": "remove", "path": "/list/2" }, // 先移除 "bar",避免索引偏移影响
  { "op": "remove", "path": "/list/0" }  // 移除 "foo"
]

选项3是最安全的选择,我主要好奇哪种才是正确的。JSON Patch的RFC文档对此并未明确说明。


内容的提问来源于stack exchange,提问作者gislikonrad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 13:29:57