1

我得到了以下结果。

$ jq '.[].a,.[].b' <<< '[{"a": 1},  {"b": 2}]'
1
null
null
2
$ jq '.[] | select(.a or .b)' <<< '[{"a": 1},  {"b": 2}]'
{
  "a": 1
}
{
  "b": 2
}

但我想搜索“a”和“b”,我想要的输出就是这个。

1
2

执行此or操作的正确方法是什么?谢谢。

4

1 回答 1

2

您可以使用备用运算符 ( //):

$ jq '.[] | .a//.b' <<< '[{"a": 1},  {"b": 2}]'
1
2
于 2019-08-14T16:29:50.750 回答