JSON 对比:比较 JSON 差异
按结构比较两个 JSON 文档:以 JSONPath 显示新增、删除和修改的值,忽略键顺序和排版。免费,在浏览器中运行。
差异
+ 新增,- 删除,~ 修改。对象按键比较(忽略键的顺序),数组按索引比较;1 和 1.0 视为相等。
完全在浏览器中运行,您的数据不会被上传。
相关工具
查看全部什么是 JSON 对比?
JSON 对比按结构而不是按文本比较两个 JSON 文档。它会以 JSONPath 列出每个被新增、删除或修改的值,因此空白、排版或键顺序的差异都会被忽略。
如何使用 JSON 对比
- 把第一个文档粘贴到 原始 JSON 中。
- 把第二个文档粘贴到 修改后的 JSON 中。
- 查看汇总和差异列表(输入时会同步更新)。
- 用 复制 复制差异列表。
示例
输入
Original: {"a":1,"b":2,"arr":[1,2]}
Modified: {"a":1.0,"c":3,"arr":[1]} 输出
- $.b: 2 - $.arr[1]: 2 + $.c: 3
汇总:新增:1 · 删除:2 · 修改:0。1 和 1.0 相等。
何时使用 JSON 对比
适合比较不同环境的 API 响应、配置版本或测试快照。对于顺序无关紧要的数组,或需要查看按行的文本差异时,文本对比可能更合适。
JSON 对比 的工作原理
两个输入都由严格的 JSON 解析器解析,并被并行遍历。对象按键逐个比较,与顺序无关;只存在于原始文档中的键标记为 删除(-),只存在于修改后文档中的键标记为 新增(+)。数组按位置逐项比较,因此在开头插入一项会使后面的每一项都显示为已修改。类型或值不同的标量值标记为 修改(~ 旧值 → 新值);数字按数值比较,因此 1 和 1.0 相等,大整数也会精确比较。
常见用例
- 比较预发布和生产环境的 API 响应
- 查看两个配置版本之间的改动
- 检查测试快照发生了什么变化
- 验证数据迁移
安全提示
所有处理都在你的浏览器本地完成,粘贴的内容不会被上传。
常见问题
键的顺序重要吗?
不重要,对象按键进行比较。
数组是如何比较的?
按索引比较。移动元素会改变它们被比较的位置。
1 等于 1.0 吗?
是的,数字按值比较。
推荐的下一步
图片对比
用前后对比滑块、并排视图或像素差异图来比较两张图片,差异以红色高亮,并给出不匹配的百分比。
日期差计算器
计算两个日期或日期时间之间的间隔:给出年、月、日的拆分,以及总周数、小时数、分钟数和秒数,并可选择是否包含结束日期。
JSON 转 TypeScript
根据 JSON 示例生成 TypeScript 的 interface 或 type 别名,支持可选键、null 联合类型,并能从数组推断嵌套类型。免费且私密。
JSON 转 Go 结构体
将 JSON 转换为 Go 结构体:导出的字段名、json 标签、为 null 使用指针类型,并可选 omitempty。支持嵌套对象和数组。免费。
JSON 转 Python
将 JSON 转换为带类型提示的 Python dataclass 或 TypedDict 类,支持 Optional 字段,嵌套类按依赖顺序定义。免费,在浏览器内运行。
转义/反转义工具
一个工具搞定字符串转义与反转义:支持 JSON、JavaScript、HTML、XML、URL 组件、正则表达式、SQL 字面量、CSS 字符串和 Shell 参数。