简单的 jq 过滤器有空结果

simple jq filter has null results

我正在使用过滤器

[.bar_1.baz_a, .bar_1.baz_b, .bar_2.qux_1,.bar_2.qux_2]

在接下来的 JSON 中,它返回四个空值,而不是两行,每行都有四个无意义数据元素。这是我第一次尝试过滤器,我没有理解什么概念?

{
  "version": "0.1",
  "foos": [
    {
      "bar_1": {
        "baz_a": 673396201,
        "baz_b": "dfgsfg"
      },
      "bar_2": {
        "qux_1": "ghjhj",
        "qux_2": "Q"
      }
    },
    {
      "bar_1": {
        "baz_a": 674567484,
        "baz_b": "tyutyj"
      },
      "bar_2": {
        "qux_1": "bnmn",
        "qux_2": "Z"
      }
    }
  ]
}

根对象没有键 bar1bar2;这些出现在分配给名称 foos 的数组中的对象中。将您的过滤器与

进行比较
jq '.foos[] | [.bar_1.baz_a, .bar_1.baz_b, .bar_2.qux_1,.bar_2.qux_2]' tmp.json