标准化 JSON 数据

eft*_*eft 1 json jq

给出以下 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)

pmf*_*pmf 6

.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)

演示