Shell 解析 JSON

Shell 下使用 jq 解析 JSON,十分方便。

源数据

$ curl ip.dhcp.cn/?json
{
  "IP": "134.175.159.160",
  "Address": {
    "Country": "中国",
    "Province": "广东省",
    "City": "广州市"
  },
  "ISP": "电信"
}

1. 使用 jq 解析 JSON 串

$ curl -s ip.dhcp.cn/?json | jq .IP
"134.175.159.160"
  • 获取字典长度
$ curl -s ip.dhcp.cn/?json | jq ".Address"
{
  "Country": "中国",
  "Province": "广东省",
  "City": "广州市"
}
$ curl -s ip.dhcp.cn/?json | jq ".Address | length"
3
  • 获取嵌套数据
$ curl -s ip.dhcp.cn/?json | jq .Address.City
"广州市"

2. Python 解析 JSON 串

$ curl -s ‘ip.dhcp.cn/?json‘ |   python -c "import sys, json; print json.load(sys.stdin)[‘IP‘]"
134.175.159.160

reference

Shell 解析 JSON

上一篇:理解Java中字符流与字节流的区别(转)


下一篇:Could not transfer artifact org.apache.maven.plugins:maven-clean-plugin:pom:2.5 from 这类问题的解决方法