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

如何使用JQ将父对象的account_id属性插入到子实例对象并展平实例列表

用jq展平JSON并为子对象添加父级account_id

你的思路完全正确!你写的jq命令已经完美实现了需求,咱们来详细拆解下它的工作逻辑,同时也可以给你一个更简洁的版本:

你的原始命令(有效且正确)

jq '.|map(.instances[]+{"account_id": .account_id})' file.json

命令拆解(一步步看它做了什么)

  • .:定位到整个输入的JSON数组(其实这步可以省略,因为map默认就作用在顶层数组上)
  • map(...):遍历数组里的每一个账户对象
  • .instances[]:把当前账户的instances数组展开,取出里面的每一个独立实例对象
  • +{"account_id": .account_id}:将当前账户的account_id属性合并到每个展开后的实例对象中,完成属性注入

简化版命令(效果完全一致)

可以去掉多余的.|,让命令更简洁:

jq 'map(.instances[] + {account_id: .account_id})' file.json

输入输出示例

输入JSON(file.json内容)

[ 
  { 
    "account_id": 123, 
    "instances": [ {"id": 1}, {"id": 2} ] 
  }, 
  { 
    "account_id": 456, 
    "instances": [ {"id": 1} ] 
  } 
]

输出结果

[ 
  {"id": 1, "account_id": 123}, 
  {"id": 2, "account_id": 123}, 
  {"id": 1, "account_id": 456} 
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 21:47:37