jq命令

发布时间 2023-10-08 15:21:47作者: 普里莫
[root@docker01 ~]# yum install -y jq

# 自动排序显示,应用有一长串的命令分层
[root@docker01 ~]# curl http://10.0.0.102:5000/v2/_catalog | jq
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    28  100    28    0     0  19649      0 --:--:-- --:--:-- --:--:-- 28000
{
  "repositories": [
    "centos"
  ]
}

[root@docker01 ~]# curl http://10.0.0.102:5000/v2/_catalog
{"repositories":["centos"]}


jq 是一个命令行工具,用于处理和转换 JSON 数据。它可以帮助您从复杂的 JSON 结构中提取数据、过滤和查询 JSON 数据,以及对 JSON 数据进行修改和转换。

以下是 jq 的一些常见用法示例:

从 JSON 文件中提取特定字段的值:

bash
$ cat data.json
{
  "name": "John",
  "age": 30,
  "city": "New York"
}
$ cat data.json | jq '.name'
"John"
过滤和查询 JSON 数组中的数据:

bash
$ cat data.json
[
  { "name": "John", "age": 30 },
  { "name": "Alice", "age": 25 },
  { "name": "Bob", "age": 35 }
]
$ cat data.json | jq '.[] | select(.age > 30) | .name'
"John"
"Bob"
修改和更新 JSON 数据:

bash
$ cat data.json
{
  "name": "John",
  "age": 30,
  "city": "New York"
}
$ cat data.json | jq '.age = 35' > updated.json
$ cat updated.json
{
  "name": "John",
  "age": 35,
  "city": "New York"
}
以上示例只是 jq 的一小部分功能演示。jq 提供了丰富的语法和操作符,可以进行更复杂的 JSON 数据处理和转换。您可以通过查阅 jq 的官方文档来了解更多详情。