You need to enable JavaScript to run this app. 如何使用JQ将嵌套数组结构的JSON扁平化为单层列表结构
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JQ将嵌套数组结构的JSON扁平化为单层列表结构

JQ转换实现方案

可直接运行的转换命令

# 写法1:仅提取id和number字段,完全匹配目标输出格式
jq '{items: [.clients[] | {id, number: .accounts[].number}]}' 输入文件路径

# 写法2:通用扩展写法,可完整保留account下所有字段,适合account字段较多的场景
jq '{items: [.clients[] | {id} + .accounts[]]}' 输入文件路径

用到的JQ核心功能

  • 数组展开操作符[]:通过.clients[]遍历外层clients数组的所有client元素,再通过.accounts[]展开单个client对应的accounts数组,实现一对多拆分,每个account都会单独生成一条结果对象
  • 管道符|:用于传递处理上下文,将遍历得到的单个client对象传递到后续的对象构造逻辑中
  • 对象构造与合并语法:{id}是JQ字段简写语法,等价于{"id": .id},可直接从当前上下文提取对应字段生成新对象;+用于合并两个JSON对象,把id字段和account的所有字段合并为一个新对象
  • 数组包装语法[]:将所有拆分生成的对象统一包装为一个数组,作为顶级items字段的值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 09:33:03