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

如何使用jq从含嵌套标签键值对的列表中提取多字段并展示指定标签

解决方案

你可以在jq的字符串插值里新增一段逻辑,从Tags数组中筛选指定Key的标签值,完整命令如下:

cat subnets.json | jq '.Subnets[] | "\(.Id) \(.SubnetId) \((.Tags[] | select(.Key == "Status").Value) // "N/A")"'

命令说明

  • 原有提取Id、SubnetId的逻辑保持不变
  • 新增的(.Tags[] | select(.Key == "Status").Value)段:遍历当前子网的Tags数组,筛选出Key为Status的标签,取对应的Value值
  • 末尾的// "N/A"是可选容错逻辑:如果某个子网不存在Key为Status的标签,会自动输出N/A避免报错,不需要该逻辑可以直接删除这部分。

优化建议

如果不需要输出结果前后的引号,可以给jq加上-r参数输出原始字符串:

cat subnets.json | jq -r '.Subnets[] | "\(.Id) \(.SubnetId) \((.Tags[] | select(.Key == "Status").Value) // "N/A")"'

样例输出(加-r参数后)

bar1 foo1 dev
bar2 foo2 dev

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 12:09:03