输入:
{
"level1": {
"id": "a"
},
"level2": [
{
"id": "1"
},
{
"id": "2"
}
]
}
{
"level1": {
"id": "b"
},
"level2": [
{
"id": "3"
},
{
"id": "4"
}
]
}
预期输出:
a 1
a 2
b 3
b 4
我基本上想要完成的是:
jq -r '[ .level1.id, (.level2[] |.id ) ]|@tsv'
其中 .level1.id 对 .level2 数组中的每个对象重复,但我似乎无法以正确的方式思考问题
将第一级 id 包装到一个数组中,然后附加第二级中的每个 id:
[.level1.id] + (.level2[]|[.id]) | @tsv