第14期:linux-jq

jq简介

jq,用来处理json数据的工具。

jq安装使用

centos安装

1
yum install -y jq

使用

1
2
3
4
5
6
7
8
9
# 获取一个键的值
echo '{"name":"ricky", "age":18}' |jq '.name'

# 获取数组数据
echo '[{"name": "flolunsa", "age": 12}, {"name": "ricky", "age": 27}]' | jq .[0]
echo '[{"name":"JSON", "good":true}, {"name":"XML", "good":false1}]' | jq '.[1]' # false不能写成false1

# 同时获取多个key的值
echo '{"name":"ricky", "age":18}' |jq '.name, .age'

定义一个json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 错误例子: 使用单引号
{
"url": 'https://www.examples.com'
}

# 错误使用非十进制数据,json只能使用十进制
{
"foo": 0x123
}

# 正确例子
# 定义对象
{
"bar": "nisha",
composition: {
"a": 1,
"name": "ricky"
}
}

参考:https://stedolan.github.io/jq/tutorial/