JSON Merge Patch 生成
JSON Merge Patch(RFC 7396)生成工具。粘贴修改前后两份 JSON,工具对比差异并输出一份 Merge Patch 补丁,可直接作为 HTTP PATCH 请求体发给接口。只保留变化的部分,未改动的字段不出现在补丁里。对比与生成全部在浏览器本地完成,数据不上传。
怎么使用
- 1
粘贴原始 JSON
左侧放入修改前的数据。
- 2
粘贴目标 JSON
右侧放入修改后的数据。
- 3
停顿后自动生成
输出只含差异的 Merge Patch,并统计操作数;两份数据完全一致时提示「无变化」。
- 4
复制并验证
复制补丁作为 PATCH 请求体,或切到「应用」模式验证效果。
功能特点
只留差异
相同字段不写入补丁,补丁体积更小、更易读。
删除用 null
目标中被移除的键,在补丁里以 null 表示,符合 RFC 7396。
无差异提示
两份数据完全一致时输出空补丁 {} 并给出「无变化」提示。
Worker 本地计算
对比与生成在浏览器后台线程完成,数据不上传。
常见错误与排查
- ! Merge Patch 用 null 表达「删除」,因此无法用它表达「把某个键设为 null」;这种情况需要 JSON Patch。
- ! 数组按整体替换生成补丁;数组中间有改动时,补丁会包含整个新数组。
常见问题
生成的补丁能直接用吗?
可以,输出符合 RFC 7396,可作为 PATCH 请求体(Content-Type: application/merge-patch+json)。
为什么删掉字段后补丁里是 null?
这是 RFC 7396 的规定——null 即「删除该键」的意思。
数据会被上传吗?
不会,生成在浏览器本地完成。
相关工具
JSON Merge Patch 应用
按 RFC 7396 把 JSON Merge Patch 应用到目标 JSON,null 值删除键、非对象整体替换,得到合并后的结果,纯本地计算。
JSON Patch 生成 / 应用
对比两份 JSON 生成 RFC 6902 patch 操作序列,或把 patch 应用到目标 JSON,支持 add / remove / replace / move / copy / test。
JSON 对比(Diff)
左右分栏对比两份 JSON,新增、删除、修改分三种颜色,可忽略 key 和数组的顺序。
JSON Pointer 查询
用 RFC 6901 JSON Pointer(如 /users/0/roles/1)在 JSON 文档中定位节点,支持 ~0 / ~1 转义,查到结果可单独复制。