1、下载jq
wget https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64
2、添加可执行权限
chmod +x jq-linux64
3、添加到环境变量里面
mv jq-linux64 /usr/bin/
4、改名
mv /usr/bin/jq-linux64 /usr/bin/jq
5、可以用来
用法:
1、cat json.test |jq “.name”
"xueyuan"
2、cat json.txt |jq
3、检查文本:jq ‘.’ json_file > /dev/null
4、支持切片jq “.skills[0:2]” json.test
5、支持多个索引值查找
[root@localhost ~]# jq “.skills,.age” json.test
[
“C/C++”,
“Python”,
“Golang”,
“Node.js”
]
21
6、数值运算:
[root@localhost ~]# echo 1 | jq ‘(.+2)*5’
15
7、求json的字段长度:
[root@localhost ~]# cat json.test |jq ‘.[] |length’
4
21
11
7
24
[root@localhost ~]# cat json.test |jq ‘.’
{
“skills”: [
“C/C++”,
“Python”,
“Golang”,
“Node.js”
],
“age”: 21,
“birthday”: “10th August”,
“name”: “xueyuan”,
“email”: “[email protected]”
}
8、输出所有的keys
[root@localhost ~]#jq ‘.[]’ json.txt
[root@localhost ~]# cat json.test |jq ‘.keys’ 这个是键值为key的为空
null
[root@localhost ~]# cat json.test |jq ‘keys’
[
“age”,
“birthday”,
“email”,
“name”,
“skills”
]
9、判断是否存在某个键
[root@localhost ~]# cat json.test |jq ‘has(“name”)’
true
[root@localhost ~]# cat json.test |jq ‘has(“nname”)’
false