JSON Merge Patch 合并补丁
在本地应用 RFC 7396 合并补丁:更新对象字段,用 null 删除字段,整项替换数组。
浏览器本地处理输入原始与 Merge Patch JSON输出补丁后的 JSON 文档两份 UTF-8 JSON,每份最多 1 MiB
- 1添加输入
- 2调整设置
- 3获取结果
工具输入和文件在当前浏览器处理,不会上传。
开始之前
在本地预览 RFC 7396 Merge Patch 应用结果,再下载完整 JSON。原始文档和补丁可分别粘贴或导入。
如何使用
- 分别粘贴或导入原始 JSON 和 Merge Patch JSON。
- 对象中的 null 表示删除成员;数组和其他非对象值会整体替换。
- 核对实际删键、整项替换的数组和完整结果后下载;按索引修改数组请使用 JSON Patch。
支持范围与限制
补丁中的 null 会删除现有对象键;现有数组整体替换,不能按元素 ID 局部修改。非对象补丁会替换整份文档。
每份 UTF-8 JSON 最多 1 MiB。页面对删除和数组替换各列出前 20 条路径;下载结果包含完整 JSON。不会发送 HTTP PATCH 请求。
操作示例
示例输入
{"name":"Ada","note":"old","roles":["read"]}
Merge Patch JSON:
{"note":null,"roles":["write"]}示例参数
{}示例输出
{
"name": "Ada",
"roles": [
"write"
]
}出现问题时
修复两份 JSON 的语法或重复键,并把每份 UTF-8 输入控制在 1 MiB 内。保存前核对完整结果。
常见问题
补丁中的 null 和数组如何处理?
补丁中的 null 会删除现有对象键。数组补丁替换整个数组;根节点为非对象时会替换整份文档。
页面示例应该得到什么结果?
name 保持 Ada,note 被删除,roles 变成 ["write"];回滚需要保留原文档。
哪些情况不适用?
Merge Patch 不能按索引或 ID 定位单个数组元素,也不会发送 HTTP 请求。按索引修改请使用 JSON Patch。