Neatbo.

JSON Merge Patch 合并补丁

在本地应用 RFC 7396 合并补丁:更新对象字段,用 null 删除字段,整项替换数组。

浏览器本地处理输入原始与 Merge Patch JSON输出补丁后的 JSON 文档两份 UTF-8 JSON,每份最多 1 MiB
  1. 1添加输入
  2. 2调整设置
  3. 3获取结果

工具输入和文件在当前浏览器处理,不会上传。

输入内容

切换工具时在当前标签页临时保留输入。刷新或关闭后清除,较大的结果可能需要重新生成。

⌘ / Ctrl + Enter 运行

应用 JSON Merge Patch

原始文档只在预览中变更。补丁中 null 表示删键;数组补丁会替换整个数组。

请粘贴或导入原始 JSON 和 Merge Patch 文档。

正在准备处理工具…

开始之前

在本地预览 RFC 7396 Merge Patch 应用结果,再下载完整 JSON。原始文档和补丁可分别粘贴或导入。

如何使用

  1. 分别粘贴或导入原始 JSON 和 Merge Patch JSON。
  2. 对象中的 null 表示删除成员;数组和其他非对象值会整体替换。
  3. 核对实际删键、整项替换的数组和完整结果后下载;按索引修改数组请使用 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。

文档与延伸阅读

相关工具