#### 安装jq
yum list|grep jq yum -y install jq (如果没有jq # yum -y install rep-release )注意格式,主要注意逗号, 在[],{} 区间内,如果是最后一个key ,不加逗号
$ cat parm.json {"new":[ { "createday":"2017-04-13", "countdate":"2017-04-13", "area":"29-29", "level":"40-50" }, { "createday":"2017-04-13", "countdate":"2017-04-12", "area":"29-29", "level":"40-50" }, { "createday":"2017-04-13", "countdate":"2017-04-11", "area":"29-29", "level":"40-50" } ], "new2":[ { "createday":"2017-04-13", "countdate":"2017-04-13", "area":"29-29", "level":"40-50" }, { "createday":"2017-04-13", "countdate":"2017-04-12", "area":"29-29", "level":"40-50" }, { "createday":"2017-04-13", "countdate":"2017-04-11", "area":"29-29", "level":"40-50" } ] }上面的json文件有两个对象, new和 new2
new[2] 是第三个条目,new其实是一个数组
$ jq .new[2].countdate parm.json "2017-04-11"这两种写法的结果是一样的
### variable assignment new = `jq . parm.json` newlength=`jq '.new |length' parm.json`链式调用 key
$ new=`jq .new parm.json` $ echo $new|jq .[0] { "createday": "2017-04-13", "countdate": "2017-04-13", "area": "29-29", "level": "40-50" } $ echo $new|jq .[1] { "createday": "2017-04-13", "countdate": "2017-04-12", "area": "29-29", "level": "40-50" } $ echo $new|jq .[1].countdate "2017-04-12"