📅  最后修改于: 2023-12-03 15:13:37.172000             🧑  作者: Mango
在 Bash 中,我们可以使用 jq
命令来解析 JSON 数据并提取所需的属性。jq
是一个基于命令行的工具,使用简单而且功能强大,支持处理 JSON 数据的各种操作。
首先,我们需要在系统中安装 jq
工具。在 Ubuntu 系统中,可以使用以下命令来安装:
sudo apt-get update
sudo apt-get install jq
在 macOS 系统中,可以使用以下命令来安装:
brew install jq
假设有以下 JSON 数据:
{
"name": "Tom",
"age": 25,
"email": "tom@example.com",
"address": {
"city": "Beijing",
"country": "China"
}
}
我们可以使用 jq
命令来解析 JSON 数据,并提取所需的属性:
cat data.json | jq '.name'
该命令会输出 Tom
。
如果 JSON 数据中包含嵌套属性,我们可以使用 .
符号来获取嵌套属性。例如,假设有以下 JSON 数据:
{
"person": {
"name": "Tom",
"age": 25,
"address": {
"city": "Beijing",
"country": "China"
}
}
}
我们可以使用以下命令来获取 city
的值:
cat data.json | jq '.person.address.city'
该命令会输出 Beijing
。
我们也可以使用 jq
命令来过滤数据。例如,假设有以下 JSON 数组数据:
[
{
"name": "Tom",
"age": 25
},
{
"name": "John",
"age": 30
},
{
"name": "Mary",
"age": 22
}
]
我们可以使用以下命令来过滤出年龄大于 25 的对象:
cat data.json | jq '.[] | select(.age > 25)'
该命令会输出以下结果:
{
"name": "John",
"age": 30
}
使用 jq
命令可以简单快捷地解析 JSON 数据,并提取所需的属性。同时,jq
还支持各种操作,可以方便地处理 JSON 数据中的嵌套属性和过滤数据。如果你经常需要处理 JSON 数据,那么学习使用 jq
绝对会事半功倍。