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

如何使用jq更新JSON数组中的每个对象并添加URL字段

解决方法

你的命令存在语法冗余和shell引号转义问题,以下是两种正确实现方式:

方式一:遍历数组元素并更新

使用|=操作符遍历数组每个对象,直接合并新增的url字段:

jq '.[] |= . + {url: "http://" + .host + .path}' input.json

如果是通过管道传递JSON内容,可写成:

cat input.json | jq '.[] |= . + {url: "http://" + .host + .path}'

方式二:使用map函数处理数组

通过map函数对数组中每个对象进行转换:

jq 'map(. + {url: "http://" + .host + .path})' input.json

命令说明

  • .[]/map():负责遍历数组中的每一个对象
  • . + {url: ...}:将原对象与包含url字段的新对象合并,其中"http://" + .host + .path完成字符串拼接,生成完整URL
  • 用单引号包裹jq表达式可以避免shell环境下的双引号转义问题,减少语法错误

执行上述命令后,就能得到你需要的JSON结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 00:37:10