如何在jq中执行`or`?

How to perform `or` in jq?

我得到了以下结果。

$ 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 操作的正确方法是什么?谢谢

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

$ jq '.[] | .a//.b' <<< '[{"a": 1},  {"b": 2}]'
1
2