Skip to main content

1. Introduction (简介)

1. Introduction (简介)

本规范定义了 JSON merge patch (JSON 合并补丁) 文档格式, 处理规则以及相关的 MIME 媒体类型标识符。合并补丁格式主要用于 HTTP PATCH 方法 [RFC5789], 作为描述对目标资源内容进行一组修改的手段。

JSON 合并补丁文档使用一种与被修改文档非常相似的语法来描述要对目标 JSON 文档进行的更改。合并补丁文档的接收者通过将提供的补丁内容与目标文档的当前内容进行比较来确定所请求的确切更改集。如果提供的合并补丁包含目标中不存在的成员, 则添加这些成员。如果目标确实包含该成员, 则替换其值。合并补丁中的 null 值被赋予特殊含义, 用于指示删除目标中的现有值。

例如, 给定以下原始 JSON 文档:

{
"a": "b",
"c": {
"d": "e",
"f": "g"
}
}

可以通过发送以下内容来更改 "a" 的值并删除 "f":

PATCH /target HTTP/1.1
Host: example.org
Content-Type: application/merge-patch+json

{
"a":"z",
"c": {
"f": null
}
}

当应用于目标资源时, "a" 成员的值被替换为 "z", 并且 "f" 被删除, 其余内容保持不变。

这种设计意味着合并补丁文档适用于描述主要使用对象作为其结构且不使用显式 null 值的 JSON 文档的修改。合并补丁格式并不适用于所有 JSON 语法。