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

如何使用jq将不同数组的对应字段合并为items对象数组

你之前的写法只能拿到第一个元素,是因为first仅会提取数组的首个元素,没有对全量索引做遍历处理。

正确的jq实现语句
jq '{items: ([.name, .age, .town] | transpose | map({name: .[0], age: .[1], town: .[2]}))}'

实现逻辑

  • 第一步将name、age、town三个字段的数组合并为二维数组:[.name, .age, .town]
  • 第二步调用transpose函数对二维数组按索引转置,转置后每个子数组对应同一个索引位置的三个属性值
  • 第三步用map遍历所有子数组,将子数组的第0、1、2位元素分别赋值给name、age、town字段,生成单个用户对象
  • 最后把生成的用户对象数组封装到items字段,即可得到你需要的输出结构

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 11:18:01