Shell 解析 JSON
Shell 下使用 jq
解析 JSON,十分方便。
源数据
$ curl api.dhcp.cn/?json
{
"IP": "134.175.159.160",
"Address": {
"Country": "中国",
"Province": "广东省",
"City": "广州市"
},
"ISP": "电信"
}
1. 使用 jq 解析 JSON 串
$ curl -s api.dhcp.cn/?json | jq .IP
"134.175.159.160"
获取字典长度
$ curl -s api.dhcp.cn/?json | jq ".Address"
{
"Country": "中国",
"Province": "广东省",
"City": "广州市"
}
$ curl -s api.dhcp.cn/?json | jq ".Address | length"
3
获取嵌套数据
$ curl -s api.dhcp.cn/?json | jq .Address.City
"广州市"
2. Python 解析 JSON 串
$ curl -s 'api.dhcp.cn/?json' | \
python -c "import sys, json; print json.load(sys.stdin)['IP']"
134.175.159.160
reference
[1] justcode. Shell:无比强大的shell之json解析工具jq
[2] Tom CzHen. 使用 Shell 脚本来处理 JSON
Last updated