JSON Merge Patch 应用

JSON Merge Patch(RFC 7396)应用工具。粘贴目标 JSON 和一份 Merge Patch,工具按规范合并:patch 中的键会覆盖目标、null 值表示删除该键、非对象的 patch 会整体替换目标。适合模拟 HTTP PATCH 请求的效果,合并全部在浏览器本地完成,数据不上传。

在工作台中打开 本地处理 · 数据不上传

怎么使用

  1. 1

    粘贴目标 JSON

    左侧放入要被修改的原始数据,或选择本地文件。

  2. 2

    粘贴 Merge Patch

    右侧放入补丁对象(一份「像结果的对象」,只写要改的键)。

  3. 3

    停顿后自动应用

    按 RFC 7396 递归合并,右侧输出结果;某一侧不是合法 JSON 时指出是第几行第几列。

  4. 4

    复制或反向生成

    复制合并结果,或切到「生成」模式,从两份 JSON 反推补丁。

功能特点

严格 RFC 7396

null 删除键、对象递归合并、非对象整体替换,行为与规范一致。

双栏对照

目标、补丁、结果同屏,改一处即时看到效果。

分侧报错

目标或补丁不是合法 JSON 时,明确提示是目标侧还是补丁侧,并给出行列位置。

Worker 本地计算

合并在浏览器后台线程完成,数据不上传。

常见错误与排查

  • ! Merge Patch 不能用 null 设置「值为 null」——null 一律表示删除该键;确实需要 null 值时应改用 JSON Patch 或整体替换。
  • ! 数组会被整体替换,不会逐项合并;patch 里写数组就是「替换成这个数组」。

常见问题

Merge Patch 和 JSON Patch 有什么区别?

JSON Patch(RFC 6902)用一组 add / remove / replace 操作描述改动,精确但啰嗦;Merge Patch(RFC 7396)用一份「像结果的对象」描述改动,简单直观,但无法直接设置 null、数组只能整体替换。

补丁里的 null 会怎样?

表示删除目标中的对应键;如果目标本来没有该键则无影响。

数据会被上传吗?

不会,合并在浏览器本地完成。

相关工具