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

如何使用jq提取JSON数组item元素并保留逗号去除外层括号

jq提取JSON数组元素并保留逗号分隔的实现方法

需求说明

存在结构如下的collection.json文件:

{
    "info" : {
        ...
    },
    "item" : [
        {...}, # A
        {...}, # B
        {...}  # C
    ]
}

需要提取item数组中的所有元素,输出不带首尾方括号、保留元素之间的逗号,预期效果如下:

{...}, # A
{...}, # B
{...}  # C

已尝试方案的问题

  • jq -r '.item' collection.json:输出会保留数组的首尾方括号,不符合要求
  • jq -r '.item[]' collection.json:展开数组元素时会移除元素之间的逗号分隔符,不符合要求

可行解决方案

使用如下jq命令即可实现需求:

jq -r '.item | map(tostring) | join(",\n")' collection.json

命令逻辑说明

  1. .item定位到目标数组
  2. map(tostring)将数组内的每个JSON对象转换为字符串格式
  3. join(",\n")使用,\n作为分隔符拼接所有元素,既保留了元素间的逗号和换行,也不会输出数组首尾的方括号

补充:如果你的JSON文件包含#注释这类非标准JSON语法,可以用支持JSON5的yq工具替代jq执行上述逻辑,命令结构一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 06:27:00