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

如何使用JQ将另一JSON文件的对象写入目标文件的指定嵌套字段

解决方案

假设你的第一个JSON文件命名为file1.json,第二个JSON文件命名为file2.json,执行以下命令即可得到目标结构的JSON:

jq '.b = input' file1.json file2.json

命令说明

  • jq会按顺序读取输入的文件,第一个读取的是file1.json的内容
  • 内置函数input会读取下一个输入文件也就是file2.json的完整JSON对象
  • 直接将读取到的对象赋值给第一个JSON的.b字段,即可完成写入操作

如果需要将结果保存为新文件,可以追加输出重定向:

jq '.b = input' file1.json file2.json > result.json

如果需要直接覆盖更新第一个文件,推荐配合moreutils工具包中的sponge使用,避免文件被提前清空导致内容丢失:

jq '.b = input' file1.json file2.json | sponge file1.json

也可以使用--argfile参数提前读取第二个文件的内容存入变量再赋值,效果相同:

jq --argfile b_content file2.json '.b = $b_content' file1.json

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 18:18:00