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

如何使用jq将JSON中指定值与另一数组的每个元素组合输出TSV

jq实现JSON转指定配对格式输出方案

实现命令

针对给出的JSON结构,直接使用如下jq命令即可得到符合TSV规范的输出:

jq -r '.[] | [.id, .names[]] | @tsv' input.json

如果JSON内容是通过管道传入的,直接去掉末尾的input.json即可接收标准输入流处理。

命令逻辑拆解

  • -r:开启原始输出模式,禁止jq自动给字符串值包裹双引号,直接输出纯文本内容
  • .[]:遍历最外层JSON数组的每一个子对象
  • [.id, .names[]]:为每个遍历到的子对象构造新的一维数组:第一个元素是当前对象的id字段值,后续依次展开names数组的所有元素填入数组
  • @tsv:调用jq内置的TSV格式化过滤器,自动将数组元素用制表符分隔拼接为单行字符串输出

格式适配说明

如果需要输出id和名称之间用单个空格分隔(和示例展示的视觉效果完全一致),可以使用如下变体命令:

jq -r '.[] | .id as $curId | .names[] | "\($curId) \(.)"' input.json

运行后输出结果和示例完全匹配:

1 apple
1 google
2 iphone
2 ipad
2 macbook

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 07:24:36