Neatbo.

合并 JSON 对象

用覆盖对象合并配置,同时保留未修改的嵌套字段。

浏览器本地处理输入JSON输出JSON单个文件最多 10 MiB · 最多 2 个
  1. 1添加输入
  2. 2调整设置
  3. 3获取结果

工具输入和文件在当前浏览器处理,不会上传。

输入内容

切换工具时在当前标签页临时保留输入。刷新或关闭后清除,较大的结果可能需要重新生成。

⌘ / Ctrl + Enter 运行
JSON 来源
0 个字符 · 0 字节

核对合并内容

第二份对象优先;同名对象递归合并,其他同名值整体替换。

第一个输入框是基础对象,第二个是覆盖对象。

请分别输入基础和覆盖 JSON 对象。

  1. 基础对象等待输入 JSON 对象
  2. 覆盖对象等待输入 JSON 对象
正在准备处理工具…

开始之前

合并两份用于分层配置的 JSON 对象。第二份优先:同名对象递归合并,数组、标量及 null 整体替换原值。复制结果前可核对被覆盖的路径。

如何使用

  1. 分别粘贴基础对象和覆盖对象,或按此顺序选择两个 JSON 文件。
  2. 确认两份输入都是对象,并核对第二份将替换的路径及数组冲突。
  3. 合并后检查 JSON 预览,再复制或下载完整结果。

支持范围与限制

两份输入的顶层都必须是键名不重复的 JSON 对象。同名嵌套对象递归合并;数组及其他值由第二份整体替换。

第二份中的 null 会保留为 null,不会删除键。本工具是递归对象合并,不是 RFC 7396 JSON Merge Patch。

可粘贴两份对象(各最多 1 MiB),或选择恰好两个 UTF-8 JSON 文件(各最多 10 MiB)。JSON 最多 200,000 节点、128 层,输出最多 20 MiB;数值原文会保留。

文件和输入仅在此浏览器中处理,无需注册。

操作示例

示例输入

{"a":1,"settings":{"color":"green"}}
示例参数
{"settings":{"size":2}}

示例输出

{
  "a": 1,
  "settings": {
    "color": "green",
    "size": 2
  }
}

出现问题时

无法合并时,请检查两份输入是否均为键名不重复的 JSON 对象。文件模式需要按基础、覆盖顺序选择两个 UTF-8 文件。

常见问题

相同键名由哪份输入决定?

第二份优先。如果两侧值都是对象,就递归合并键名;第二份的数组、标量或 null 会整体替换第一份的值。

null 会删除键名吗?

不会。本工具保留 null 值。RFC 7396 JSON Merge Patch 会将 null 视为删除;需要删除语义时应使用补丁工具。

可以合并两个 JSON 文件吗?

可以。选择文件输入,添加恰好两个 UTF-8 JSON 文件。第一个为基础对象,第二个会覆盖冲突值;运行前可以调整文件顺序。

为什么 JSON 被拒绝?

两份顶层值都必须是对象。格式错误、重复键、无效 UTF-8、大小或嵌套深度超限都会被拒绝。

输入会发送到服务器吗?

不会。工具输入在浏览器处理,不发送到服务器。同一标签页可暂存工作状态;刷新或关闭后无法恢复,请及时保存需要的结果。

文档与延伸阅读

相关工具