分类: 开发工具

JSON 深度合并工具

站方自主规划没找到想要的工具?

合并两个 JSON 对象或数组,并选择数组合并方式

深度合并两个 JSON 对象或数组:嵌套对象会按键逐一合并,数组则可以选择拼接、替换或取并集。全部在你的浏览器中完成。

结果
{
  "name": "Ada",
  "tags": [
    "engineer",
    "mathematician"
  ],
  "settings": {
    "theme": "light",
    "notifications": true
  },
  "role": "Lead"
}

本页的所有处理都在浏览器中完成,不会上传任何内容。

这个工具能做什么

浅层合并只会合并对象最外层的键,导致 JSON B 中的嵌套设置直接覆盖 JSON A 中整个嵌套对象。这个工具会递归合并:匹配的嵌套对象按键逐一合并,数组则按你选择的策略处理,因此拥有多层嵌套的配置项或偏好设置对象也能按预期方式合并。

使用方法

  1. 在 JSON A 中粘贴基础文档,在 JSON B 中粘贴需要覆盖的内容。
  2. 选择数组的合并方式:拼接两者、用 B 替换 A,或取两者的并集。
  3. 查看合并结果:当两份文档存在相同的键时,以 JSON B 的值为准。

隐私说明

本工具完全在你的浏览器中运行。输入的内容不会被上传、保存或分享,关闭标签页即随之消失。

常见问题

如果两份文档中有相同的键会怎样?
如果两个值都是对象,会递归合并;如果都是数组,会按所选的数组合并方式处理;其他情况下则以 JSON B 的值为准。
数组的“并集”选项是如何处理的?
它会保留 JSON A 中的所有项,然后追加 JSON B 中序列化后尚未出现在合并数组里的项,因此不会产生重复条目。
可以合并两个 JSON 数组而不是两个对象吗?
可以。如果 JSON A 和 JSON B 都是数组,它们会直接按所选的数组策略合并,无需先包装成对象。