代码之家  ›  专栏  ›  技术社区  ›  user1424739

如何在JQ中执行'or'?

jq
  •  0
  • user1424739  · 技术社区  · 5 年前

    我得到了以下结果。

    $ 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 操作?谢谢。

    1 回复  |  直到 5 年前
        1
  •  2
  •   oguz ismail FCulig    5 年前

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

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