RFC 7396 - JSON 合并补丁 - 更新列表中的对象

RFC 7396 - JSON Merge Patch - Updating objects in a list

RFC 7396 指出:

If the patch is anything other than an object, the result will always be to replace the entire target with the entire patch. Also, it is not possible to patch part of a target that is not an object, such as to replace just some of the values in an array.

例如,如果我有这个文件:

{
  "id": 1,
  "brand_name": "BMW",
  "cars": [{
    "id": 2,
    "model": "S1",
    "cost": 10000
  }]
}

据我了解,我无法部分更新 ID #2 的汽车以更新成本,例如:

{
  "id": 1,
  "cars": [{
    "id": 2,
    "cost": 20000
  }]
}

(这里的想法是不修改模型,只修改成本。ids 只是为了协调)

对吗?

如果是这样,为什么我们不能应用这个算法来处理列表:

这现实吗?

以我阅读您发送的段落的方式,我会说..不,您无法做到这一点。我的理解是 RFC 7396 是一种非常简单的 no-fuss 补丁格式。

如果您想要功能更多的东西,请考虑改用 RFC 6902