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

如何使用jq命令将二维JSON数组按子数组分行显示?

使用jq格式化二维JSON数组为每行一个子数组

针对你提供的JSON结构,有两个简洁的jq命令可以实现需求:

方法1:用join(" ")直接拼接元素

这个方式最贴合你的示例输出,直接把每个子数组的元素用空格连起来输出:

jq -r '.array[] | join(" ")' input.json

命令逻辑拆解:

  • jq -r:指定输出原始字符串,避免JSON默认的引号包裹
  • .array[]:遍历array下的所有子数组,逐个处理
  • join(" "):将当前子数组的所有元素用空格拼接成单行字符串

方法2:用@tsv配合转换(兼容更多场景)

如果需要处理带特殊字符的元素,@tsv会自动处理转义,之后再转成空格:

jq -r '.array[] | @tsv' input.json | tr '\t' ' '

命令逻辑拆解:

  • @tsv:将数组转为制表符分隔的标准TSV格式
  • tr '\t' ' ':把制表符替换为空格,匹配示例的输出样式

实际测试效果

输入的JSON数据:

{
  "array": [
    [1, 2, 3],
    [4, 5],
    [6, 7, 8, 9]
  ]
}

执行任一命令后,输出结果:

1 2 3
4 5
6 7 8 9

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 15:10:38