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

如何使用jq为数组中的对象添加键值对

解决jq处理后结果未包裹为标准JSON数组的问题

你的问题出在使用.[]迭代数组元素时,jq会把每个元素单独输出,而不会自动将它们重新组合成数组结构。要让结果符合标准JSON数组格式,只需要把整个处理逻辑用[]包裹起来,让jq将处理后的元素重新打包成数组。

正确命令

echo '[{"a": "A", "b": "B"}, {"c": "C", "d": "D"}]' | jq '[.[] + {x:"X"}]'

执行结果

[
  {
    "a": "A",
    "b": "B",
    "x": "X"
  },
  {
    "c": "C",
    "d": "D",
    "x": "X"
  }
]

原理说明

  • .[]负责遍历原数组中的每个对象,并给每个对象添加x: "X"属性
  • 外层的[]会将所有处理后的对象收集起来,组合成一个新的JSON数组,自动处理元素间的逗号和外层的括号,确保输出符合标准JSON格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 14:53:03