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

如何在命令行转嵌套JSON为CSV?jq执行报错求助

jq转换嵌套JSON到CSV的错误修正

你的命令出现Cannot index array with string "fields"错误,是两个写法问题导致的:

  • 管道优先级错误:["表头"], .records[]会把表头数组和每个record对象分开传递到后续管道,当处理表头数组时,数组没有fields属性,直接触发报错。
  • fields访问错误:fields是单个对象而非数组,.fields[]会把对象拆成键值对数组,后续访问.facilityname等属性自然失效。

正确命令

jq -r '["naam", "tijd", "totaalAantalPlaatsen", "bezettePlaatsen", "bezetting"] as $headers | $headers, (.records[] | [.fields.facilityname, .fields.time, .fields.totalplaces, .fields.occupiedplaces, .fields.bezetting]) | @csv' data.json

逻辑说明

  1. 用变量$headers存储表头,确保表头不会被后续遍历逻辑错误处理
  2. 先输出表头,再遍历records数组的每个元素
  3. 从每个元素的fields子对象中提取指定字段,组成数组后转为CSV格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 11:15:35