首页 > 解决方案 > 使用 jq 进行查找过滤

问题描述

给出这样的 JSON 字符串,

[
  {
    "id": 1,
    "name": "Arthur",
    "age": "21"
  },
  {
    "id": 2,
    "name": "Richard",
    "age": "32"
  }
]

如何按名称过滤并获取年龄?
例如,给定名称"Richard",让jq返回"32"。谢谢。

标签: jsonfilteringjq

解决方案


$ jq --arg name Richard '.[] | select(.name==$name) | .age' input.json
"32"

在 Windows 中像这样使用 jq 时,引用必须适合 Windows。


推荐阅读