JSON Patch 生成 / 应用
JSON Patch 工具,按 RFC 6902 生成和应用补丁。生成模式对比两份 JSON,输出一份只包含差异的操作序列(add / remove / replace / move / copy / test);应用模式把 patch 应用到目标 JSON,得到修改后的结果。全部在浏览器本地完成。
在工作台中打开 本地处理 · 数据不上传
怎么使用
- 1
选择模式
顶部切换「生成 Patch」或「应用 Patch」。
- 2
生成:粘贴前后两份 JSON
左为原始、右为目标,停顿后自动生成 RFC 6902 操作序列。
- 3
应用:粘贴目标 JSON 与 patch
左为目标数据、右为 patch 数组,工具逐条应用并输出结果。
- 4
复制结果
生成的 patch 或应用结果可一键复制,直接用于接口或脚本。
功能特点
标准 RFC 6902
操作序列遵循 add、remove、replace、move、copy、test 规范,可直接用于支持 JSON Patch 的接口。
数组策略可选
生成时可选择按索引逐项对比(改动最小化)或数组整体替换(patch 更短)。
JSON Pointer 转义
路径按 RFC 6901 处理 ~0 / ~1 转义,key 中含斜杠或波浪线也能正确定位。
逐条报错
应用失败时指明是第几条操作、哪个路径以及失败原因(如数组下标越界、test 断言不一致)。
纯本地计算
生成与应用都在 Web Worker 中完成,数据不会上传。
常见错误与排查
- ! 生成模式默认按键名匹配对象、按索引匹配数组;数组中间插入元素可能产生较多操作,可切换「数组整体替换」。
- ! 应用模式下 test 操作用于断言;实际值与期望值不一致会导致应用失败,这是规范要求的行为。
- ! patch 是一个 JSON 数组,每一项至少要有 op 和 path 字段。
常见问题
生成的 patch 可以直接用于接口吗?
可以。输出遵循 RFC 6902,可发送给支持 JSON Patch(Content-Type: application/json-patch+json)的服务端。
为什么数组的 patch 很长?
默认按索引逐项对比,数组中间插入或删除会牵动后续下标;改用「数组整体替换」可用一条 replace 覆盖整个数组。
应用 patch 报「路径不存在」怎么办?
replace 和 remove 要求目标路径已存在;若目标节点缺失,应改用 add。请检查路径与实际数据是否一致。
数据会被上传吗?
不会,生成和应用都在浏览器本地完成,可在 Network 面板自行验证。