json - 使用 jq 进行查找过滤
问题描述
给出这样的 JSON 字符串,
[
{
"id": 1,
"name": "Arthur",
"age": "21"
},
{
"id": 2,
"name": "Richard",
"age": "32"
}
]
如何按名称过滤并获取年龄?
例如,给定名称"Richard"
,让jq
返回"32"
。谢谢。
解决方案
$ jq --arg name Richard '.[] | select(.name==$name) | .age' input.json
"32"
在 Windows 中像这样使用 jq 时,引用必须适合 Windows。
推荐阅读
- typescript - 键入具有可选键的对象,但存在的键为非空值
- javascript - firebase 实时数据库错误:Reference.set 失败:第一个参数包含未定义的属性
- ruby - 定义 Ruby 的奇怪行为?
- webpack - 无法从模板访问 htmlWebpackPlugin.files 数据
- mysql - InnoDB:在现有表中查找聚集索引
- python-3.x - 有没有办法在调用另一个 Tk() 窗口时关闭 Tk() 窗口并且两个 Tk() 窗口都是两个不同的 python 文件?
- c++ - 使用 CDT 从头文件中获取属性定义的节点元素是什么?
- html - Angular 6:如何根据滚动突出显示导航栏上的元素?
- powershell - 通过电子邮件向多人发送个人附件
- mysql - MySQL 命令行客户端