给出以下 JSON 结构
{
"data": [
{
"id": "000000000014444A",
"teams": [
"000000000011AE74"
]
},
{
"id": "000000000014434B",
"teams": [
"000000000011AE74",
"00000000001583CE",
"000000000010B4D7"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
如何使用 jq 将数据结构化为
[
{
"id": "000000000014444A",
"team": "000000000011AE74"
},
{
"id": "000000000014434B",
"team": "000000000011AE74"
},
{
"id": "000000000014434B",
"team": "00000000001583CE"
},
{
"id": "000000000014434B",
"team": "000000000010B4D7"
}
]
Run Code Online (Sandbox Code Playgroud)
将.data数组和map每个项目放入一个对象。用于.teams[]迭代而不捕获单独数组中的项目,因此输出会相乘:
jq '.data | map({id, team: .teams[]})'
Run Code Online (Sandbox Code Playgroud)
[
{
"id": "000000000014444A",
"team": "000000000011AE74"
},
{
"id": "000000000014434B",
"team": "000000000011AE74"
},
{
"id": "000000000014434B",
"team": "00000000001583CE"
},
{
"id": "000000000014434B",
"team": "000000000010B4D7"
}
]
Run Code Online (Sandbox Code Playgroud)