跳到主要内容

JSON 合并 · 深度合并两个或多个对象

在浏览器里深度合并两个或多个 JSON 对象,数组策略可选,自带原型污染防护

  • 本地处理
  • 分类 开发运维
  • 适合 格式化、校验、压缩或检查和代码相关的文本。
深度合并两个或多个 JSON 对象。同名的嵌套对象按键逐层合并;标量冲突时后者优先(B 盖 A,C 盖 B)。数组合并方式可选:替换、拼接、按索引合并、去重拼接。__proto__ 会被丢弃以防原型污染。全程在浏览器里运行。
数组策略
JSON A(基底)
JSON B(覆盖 A)
合并结果
{
  "a": {
    "x": 1,
    "y": 2
  },
  "tags": [
    "y"
  ],
  "keep": true
}

这个工具能做什么

免费在线 JSON 合并工具,在浏览器里把两个或多个 JSON 对象做深度合并。 深度合并会同时遍历两棵树,把嵌套对象按键逐层拼起来,所以 {"a":{"x":1}} 和 {"a":{"y":2}} 合并后得到 {"a":{"x":1,"y":2}}, 而不是像浅合并(Object.assign 或展开运算符)那样直接用后一个对象 整块盖掉前一个。同名键如果两边都是标量,后者优先,也就是 B 盖 A、 C 盖 B。数组没有唯一正确的合并方式,所以由你选:替换(后者胜出)、 拼接(接在后面)、按索引合并(逐个元素)、去重拼接(先接再去重)。 粘进基底对象,再粘一到两个叠在上面,切换数组策略,一键复制带缩进的 结果。合并会跳过 __proto__、constructor、prototype 这些键,恶意数据 没法借此污染原型链。全程在本地运行,解析报错友好,链接可分享。 100% 浏览器本地,不上传。

工具细节

输入
文件 + 文本 + 数值
页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
输出
即时结果 + 复制
结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
隐私
浏览器本地处理
主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
保存 / 分享
可分享链接状态
关键设置会进入 URL,复制链接后别人能复现同一组参数。
性能预算
首屏 JS ≤ 9 KB
没有声明 WASM 依赖,适合快速打开和移动端使用。
适用场景
开发运维 · 程序员
分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。

怎么用

  1. 1. 输入

    把内容粘贴或拖入工具面板。

  2. 2. 处理

    点击按钮,在浏览器内本地处理,文件不上传。

  3. 3. 复制 / 下载

    一键复制结果或下载到本地。

JSON 合并 适合怎么用

适合穿插在写代码、查问题、做 Review、上线前的小任务里。

适合开发场景

  • 格式化、校验、压缩或检查和代码相关的文本。
  • 把片段整理好再放进文档、工单、提交或交接材料。
  • 不切换工具,快速检查一个小 payload。

开发检查项

  • 压缩、混淆这类不可逆处理,先对副本操作。
  • 除非确认工具本地处理,不要粘贴密钥和敏感片段。
  • 转换后的代码上线前,仍要跑自己的测试或 lint。

下一步可以接着做

这些入口会把当前任务接到更完整的工具链里。

  1. 1 JSON 转 YAML JSON 转干净 YAML —— 多行字符串走块标量、可选键排序、2/4 空格缩进、带位置错误提示 —— 浏览器本地 打开
  2. 2 JSON 差异对比 结构化 JSON 对比 —— 按键路径标出新增/删除/修改,三色差异树,浏览器本地 打开
  3. 3 JSON 格式化与校验 浏览器内即时格式化、校验、压缩 JSON,数据不离开本地。 打开

真实使用场景

  • 把环境配置叠到基底文件上

    你有一份带合理默认值的基底 config.json,还有一份很小的 production.json,只列出生产环境会变的值,比如数据库地址和日志级别。 把基底粘进 A,生产覆盖粘进 B,深度合并就给出服务实际运行用的有效 配置。logging、cache 这类嵌套块会保留你没覆盖的键,而不是像浅合并 那样让生产文件悄悄抹掉一整段。

  • 拼接局部 API 响应或 patch 数据

    一个 PATCH 请求只返回它改过的字段,而你想看到补丁落地后资源长什么 样。把当前资源粘进 A,patch 体粘进 B,合并结果就是打补丁后的状态, 数组策略让你决定返回的列表是替换还是追加到原来那份上。

  • 合并来自多个来源的功能开关

    开关来自全局默认集、团队覆盖和按用户覆盖三份。把三份分别填进 A、B、C,给白名单一类的数组选去重拼接,折叠后得到解析好的开关, 每个冲突都由按用户的值胜出。把链接分享出去,同事就能原样复现这次 解析结果。

  • 拼合翻译或语言包字典

    你有一份基底 en.json 界面文案,还有一份局部覆盖,只修了几句话而 没有把每个键重列一遍。深度合并保留完整字典的同时只套用这些修正, 你不必维护两份完整副本、也不怕它们各自漂移。结果是一份干净、可直接 上线的字典。

常见踩坑

  • 以为是浅合并。Object.assign 和展开运算符会整块替换嵌套对象,而这个工具做的是深度合并。如果你本意是让后一个对象抹掉某个嵌套块,深度合并保留旧键会让你意外。用之前先弄清你的场景要哪一种。

  • 想合并列表却把数组策略停在替换上。替换会让后一个数组整个丢掉前一个,tags 或 roles 列表会悄悄少掉旧条目。两份列表都该出力时,改成拼接或去重拼接。

  • 粘了 JSON5、注释或尾逗号。解析器只认严格 JSON,一个 // 注释或尾逗号都会让那一侧非法、被踢出合并。先用 JSON 格式化工具过一遍,得到干净的严格 JSON。

隐私说明

解析和深度合并都是浏览器标签页里跑的纯 JavaScript,两个输入都不上传、 不记录、不分析。唯一要注意的是 URL 状态:两个输入和数组策略会同步到 query string,方便你分享一次完整的合并,这意味着分享链接会把你的数据 带进对方的浏览器历史以及沿途任何服务器访问日志。涉及 API 密钥、令牌或 未发布的数据时,请复制结果文本,而不是分享 URL。

常见问题

类似工具组合

做你这行的人, 还会一起用这些。

Made by Toolora · 100% client-side · Updated 2026-05-29