`简介`
jq是Linux下面把文本字符串格式化成json格式的工具。
1、安装
安装EPEL源:
yum install epel-release -y
安装完EPEL源后,可以查看下jq包是否存在
yum list jq
安装jq
yum install jq -y
2、语法
Usage: jq [options] <jq filter> [file...]
jq [options] --args <jq filter> [strings...]
jq [options] --jsonargs <jq filter> [JSON_TEXTS...]
说明:jq命令可以用多种不同的方式使用;它可以直接用于JSON文件,也可以结合其他几个命令来解释 JSON 数据。jq命令可以与不同的过滤器一起使用,例如“.”、“|”、“,”或“.[]”过滤器来组织JSON数据。
3、应用
数据 test.json
[{"id": "1","name": "zhangsan","age": "18"},{"id": "2","name": "lisi","age": "19"},{"id": "3","name": "wangwu","age": "20"}]
(1)显示数据
[root@test1 ~]# jq '.' test.json
[
{
"id": "1",
"name": "zhangsan",
"age": "18"
},
{
"id": "2",
"name": "lisi",
"age": "19"
},
{
"id": "3",
"name": "wangwu",
"age": "20"
}
]
(2)访问和输出 JSON 文件中数组中存在的元素
[root@test1 ~]# jq '.[]' test.json
{
"id": "1",
"name": "zhangsan",
"age": "18"
}
{
"id": "2",
"name": "lisi",
"age": "19"
}
{
"id": "3",
"name": "wangwu",
"age": "20"
}
(3)输出单个元素
[root@test1 ~]# jq '.[1]' test.json
{
"id": "2",
"name": "lisi",
"age": "19"
}
(4)访问属性
[root@test1 ~]# jq '.[1].name' test.json
"lisi"
jq命令用于将JSON数据转换为更易读的格式并将其打印到 Linux 上的标准输出。jq命令是围绕过滤器构建的,过滤器用于从JSON文件中仅查找和打印所需的数据。