如何使用 JQ 将每个都是数组的 JSON 行展平为每行一个项目?

How do I use JQ to flatten JSON-lines where each is an array into an item-per-line?

我在底部有 JSON。如果我将它发送到 jq '.a[].b 我会得到

[
  "x1",
  "x2"
]
[
  "y1",
  "y2"
]

如何改为逐行输出,没有括号、引号或逗号,如下所示:

x1
x2
y1
y2

输入JSON是:

{
  "a": [
    {
      "b": [
        "x1",
        "x2"
      ],
      "z": "z"
    },
    {
      "b": [
        "y1",
        "y2"
      ],
      "w": "w"
    }
  ]
}

对每个 b 执行与对每个 a 相同的操作。使用 -r 选项获取原始文本,而不是 JSON 字符串值。

% jq -r '.a[].b[]' tmp.json
x1
x2
y1
y2

.b输出列表; .b[] 输出列表的每个元素。