网上的博客基本上是东抄抄西抄抄,贴上基础用法就算水了一篇,没有任何营养。介绍点有用的
1. echo $text | jq .xxx
读取文件先存在text里面,一些代码很丑陋,基本用一次cat一次,还是注意下
2. 对多重嵌套的json,一般遵循这个规则
echo $text | jq .xxx[.$i].yyy[.$j].zzz[.$k]
如果对象是字典,直接.xxx,如果对象是数组,这个'.'要加在括号内
比如:
cat /sf/vs_vol_pool.json | jq .volumes[.0].vols[.0]
获取vs_vol_pool.json 的"key=volumes"的数组的第1个字典元素的"key=vols"的数组的第一个元素
jq -r ..... 去掉结果双引号.
如果jq匹配不到对象,返回null字符串!一般这么判断返回值
if [ $text == "null" ] ;then
log "error"
fi