shell解析json之jq工具

 工具下载地址及各版本的安装方式,我常用的是把工具包下载下来直接用,不安装:

https://stedolan.github.io/jq/manual/#example1

test.json

{
    "sys": {
        "valid": "true",
        "desc": "操作系统",
        "checks": {
            "model": {
                "desc": "型号",
                "value": "CentOS"
            },
            "version": {
                "desc": "版本",
                "value": 7.2
            }
        }
    }
}

1.获取json的所有key(以下三种示范,获取所有key的不同输出格式)

➜  ~ ./jq  "keys" test.sjon
[
  "sys"
]

➜  ~ ./jq  "keys[]" test.sjon
"sys"

➜  ~ ./jq  -r "keys[]" test.sjon
sys

2.获取值( -r  参数是去掉双引号)

➜  ~ ./jq   ".sys.desc" test.sjon
"操作系统"

➜  ~ ./jq  -r ".sys.desc" test.sjon
操作系统

3. 解析json变量所有key

json变量:echo ${var}|./jq "keys"



你可能感兴趣的:(shell)