You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于KeyID键值对使用JQ合并两个JSON文件?

使用JQ按KeyID合并两个JSON文件

下面提供两种实用的合并方法,适配你的场景:

方法一:通用分组合并(支持多组KeyID)

如果你的JSON文件中可能包含多个不同KeyID的对象,这个方法可以自动按KeyID分组合并:

jq --slurp 'group_by(.KeyID)[] | add' file1.json file2.json

命令说明:

  • --slurp:将所有输入的JSON对象加载到一个数组中
  • group_by(.KeyID):按KeyID字段对数组中的对象分组
  • add:将每组内的对象合并,相同字段(此处仅KeyID)保留一致值,不同字段全部保留

方法二:单对象直接合并(仅适用于单个对象场景)

如果确定两个文件各只有一个JSON对象且KeyID匹配,可使用更简洁的命令:

jq -n 'input as $f1 | input as $f2 | $f1 + $f2' file1.json file2.json

命令说明:

  • -n:不自动读取输入,手动控制读取流程
  • input as $f1:读取第一个文件内容存入变量$f1
  • input as $f2:读取第二个文件内容存入变量$f2
  • $f1 + $f2:合并两个对象,保留所有字段

合并后结果示例:

{
  "KeyID": 7532173,
  "KeyDetails": "Level 12",
  "Level": "Access Level"
}

内容的提问来源于stack exchange,提问作者dracinsshul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 03:51:42