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

使用jq解析嵌套JSON并提取字段生成指定格式CSV的问题求助

jq解析JSON流转CSV解决方案

可用命令

jq -r '["顶层id", "顶层description", "project.id", "project.description", "project.url"], (inputs | . as $top | if .project | length == 0 then .project = [{}] else . end | .project[] | [$top.id, $top.description, .id, .description, .url]) | @csv' 输入文件名.json > 输出文件名.csv

命令说明

  • -r 参数:输出原始文本格式,避免CSV内容被额外转义包裹
  • 开头的数组定义为CSV表头,可根据需求自行修改字段名称
  • 自动判断project数组是否为空,为空时自动填充空对象占位,保证顶层条目至少输出一行
  • 自动展开project数组,每个子项单独对应一行输出
  • 内置@csv方法自动处理特殊字符转义,符合标准CSV格式规范

低版本兼容命令

如果运行上述命令报错(多为jq版本较低不支持inputs语法),可使用slurp模式命令:

jq -s -r '["顶层id", "顶层description", "project.id", "project.description", "project.url"], (.[] | . as $top | if .project | length == 0 then .project = [{}] else . end | .project[] | [$top.id, $top.description, .id, .description, .url]) | @csv' 输入文件名.json > 输出文件名.csv

输出示例

运行后生成的CSV内容符合预期:

"顶层id","顶层description","project.id","project.description","project.url"
15,"package",1762,"This Red Hat Server 7 is built from the Redhat Official","some url"
15,"package",1663,"This Ubuntu 20.04 is built from the Ubuntu Official","some url"
15,"package",1557,"This Centos 7 is built from the Centos Official","some url"
22,"exe",,,
34,"brew",,,

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:45:08