jq判断元素是否存在

2020-10-01  本文已影响0人  CodingCode

假设json内容:

{
  "A": "a",
  "B": {
     "B1": "b1",
     "B2": "b2"
  }
}

两种办法

  1. 把元素值读出来,判断是否为null
$ cat t.json | jq -r -c '.A'
a
$ cat t.json | jq -r -c '.B'
{"B1":"b1","B2":"b2"}
$ cat t.json | jq -r -c '.C'
null
$ cat t.json | jq -r -c '.B.B1'
b1
$ cat t.json | jq -r -c '.B.B2'
b2
$ cat t.json | jq -r -c '.B.B3'
null
  1. 使用has函数,判断返回true还是false
$ cat t.json | jq '. | has("A")'
true
$ cat t.json | jq '. | has("B")'
true
$ cat t.json | jq '. | has("C")'
false
$ cat t.json | jq '.B | has("B1")'
true
$ cat t.json | jq '.B | has("B2")'
true
$ cat t.json | jq '.B | has("B3")'
false
上一篇下一篇

猜你喜欢

热点阅读