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

如何使用jq基于JSON模板填充数据生成目标JSON结构

实现命令

你可以直接使用如下jq命令完成合并:

jq --argfile template json-template.json 'map($template * .)' json-data.json

如果你的jq版本不支持--argfile参数,可以替换为兼容性更好的--slurpfile写法:

jq --slurpfile template json-template.json 'map($template[0] * .)' json-data.json

命令说明

  • --argfile template json-template.json:将模板文件json-template.json的内容加载为jq内部变量$template
  • map($template * .):遍历数据文件json-data.json中的每一个数组元素,将模板对象和当前数据对象合并,数据对象的同名字段会自动覆盖模板的对应字段,刚好符合你需要的填充替换效果。

注意事项

你示例中给出的JSON内容属于非标准格式(对象键未加双引号),实际使用前需要先调整为标准JSON格式,否则jq会解析报错。
标准格式示例:
json-template.json

{
  "key1": "value1",
  "key2": "value2",
  "name": "XXX",
  "familyName": "YYY"
}

json-data.json

[
  {"name": "John", "familyName": "Smith"},
  {"name": "Samuel", "familyName": "Schnaider"}
]

运行命令后即可直接得到你期望的输出结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 17:54:03