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

如何用jq将JSON数组转换为Bash数组并遍历提取指定字段

解决方案

直接生成目标格式输出(高效处理大量数据)

无需显式创建Bash数组,直接用jq提取字段并格式化输出,适合处理3000条数据的场景:

jq -r 'to_entries[] | "index(\(.key)) username: \(.value.username) , name: \(.value.name)"' input.json

存入Bash数组后遍历(可选)

如果需要将数据存入Bash数组再处理,可使用以下命令:

# 读取jq输出到Bash数组
readarray -t user_list < <(jq -r 'to_entries[] | "index(\(.key)) username: \(.value.username) , name: \(.value.name)"' input.json)

# 遍历数组输出
for item in "${user_list[@]}"; do
    echo "$item"
done

说明

  • to_entries[] 将JSON数组转换为带索引(key,从0开始)的键值对
  • -r 参数让jq输出原始字符串,避免多余引号
  • readarray -t 用于将每行输出存入数组,并自动去除换行符

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 11:33:01