将来自键的值与所有数组条目组合

Combine the value from a key with all array entries

我json输入如下:

   [{
    "a": "123",
    "b": [
        "xyz",
        "uvw"
    ]
   }, {
    "a": "456",
    "b": [
        "ghi"
    ]
   }]

我想生成一个列表,其中每个对象的 "a" 使用定界符与 "b" 的每个元素组合。使用 jq 可以做到这一点吗?

123|xyz
123|uvw
456|ghi

如果参数化,您可以即时更改分隔符。

$ jq -r --arg delim '|' '.[] | "\(.a)\($delim)\(.b[])"' input.json