如何使用jq将JSON数组单条元素的多个字段值输出在同一行
解决方案
你可以直接使用以下命令实现需求:
cat file | jq -r '.Items[] | "\(.id.S), \(.type.S)"'
命令说明
- 加
-r参数是为了输出原始字符串,去掉jq默认给字符串添加的双引号 - 写法调整为每次遍历Items数组的单个元素后,直接将该元素的两个字段通过字符串插值拼接为同一行内容,避免了两次遍历数组导致的字段分行输出问题
多字段场景备选方案
如果需要提取的字段较多,也可以用数组+join的写法更易维护:
cat file | jq -r '.Items[] | [.id.S, .type.S] | join(", ")'
内容的提问来源于stack exchange,提问作者Joey Yi Zhao
相关产品推荐
相关产品推荐

