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

使用jq转换复杂结构JSON至CSV遇报错,求解决方案

使用jq将嵌套JSON转换为指定CSV格式

正确的jq命令

jq -r '
# 输出CSV表头
"run_number","cinfo.name","cinfo.state","cinfo.city",
# 遍历每个run条目
.document.results.summary.run[]
| .run_number as $run_id
# 展开cinfo数组,为每个对象生成一行
| .cinfo[]
# 按需求组合字段数组
| [$run_id, .name, .state, .city]
# 转换为CSV格式
| @csv
' input.json

错误原因说明

你之前的命令把run_number和整个cinfo数组放在同一个数组中传递给@csv,但@csv不支持数组作为行元素,只能处理字符串、数字这类基本类型,因此触发报错。

命令逻辑拆解

  1. 先输出CSV表头,确保列名匹配需求;
  2. 遍历每个run条目,把当前的run_number存为变量$run_id,方便后续复用;
  3. 展开cinfo数组,对数组里的每个对象单独处理;
  4. 把$run_id和当前cinfo对象的name、state、city字段组合成一维数组;
  5. 用@csv把一维数组转换为标准CSV行。

执行后会直接输出你需要的格式:

"run_number","cinfo.name","cinfo.state","cinfo.city"
"42","Joe shmo","AZ","Phoenix"
"42","Jane shmo","CA","Blythe"
"84","Jake shmo","NY","Albany"
"84","Jay shmo","TN","Franklin"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 18:46:04