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

如何使用jq将JSON对象中的数组元素展开到父对象?

使用jq展开JSON中的Tags字段到顶层

要实现你需要的JSON格式转换,直接用这条jq命令即可:

jq 'map(. + (.Tags | from_entries) | del(.Tags))' input.json

命令说明:

  • map(...):遍历输入数组中的每个对象进行处理
  • . + (.Tags | from_entries):将原对象与Tags数组转换后的键值对对象合并,from_entries会自动把[{"key":"x","value":0},...]这类结构转换成{"x":0,...}的键值形式
  • del(.Tags):移除原对象中不再需要的Tags字段

示例验证:

输入JSON:

[
  {
    "A": "a",
    "Tags": [
      { "key":"x", "value":0},
      { "key":"y", "value":1}
    ]
  },
  {
    "A": "b",
    "Tags": [
      { "key":"z", "value":2}
    ]
  }
]

执行命令后输出:

[
  {
    "A": "a",
    "x": 0,
    "y": 1
  },
  {
    "A": "b",
    "z": 2
  }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 15:20:22