给定以下JSON struct

{
    "data": [
        {
            "id": "000000000014444A",
            "teams": [
                "000000000011AE74"
            ]
        },
        {
            "id": "000000000014434B",
            "teams": [
                "000000000011AE74",
                "00000000001583CE",
                "000000000010B4D7"
            ]
        }
    ]
}

我如何使用JQ将数据 struct 化为

[
    {
        "id": "000000000014444A",
        "team": "000000000011AE74"
    },
    {
        "id": "000000000014434B",
        "team": "000000000011AE74"
    },
    {
        "id": "000000000014434B",
        "team": "00000000001583CE"
    },
    {
        "id": "000000000014434B",
        "team": "000000000010B4D7"
    }
]

推荐答案

.data数组,并将每项map赋给一个对象.使用.teams[]进行迭代,而不捕获单独数组中的项,以便将输出相乘:

jq '.data | map({id, team: .teams[]})'
[
  {
    "id": "000000000014444A",
    "team": "000000000011AE74"
  },
  {
    "id": "000000000014434B",
    "team": "000000000011AE74"
  },
  {
    "id": "000000000014434B",
    "team": "00000000001583CE"
  },
  {
    "id": "000000000014434B",
    "team": "000000000010B4D7"
  }
]

Demo

Json相关问答推荐

在Go中,当字段可以根据其他字段具有不同的类型时,什么是正确的方法来卸载JSON?

最新版本的Deneb在数据溢出时不支持滚动

使用PowerShell解析文件并获取特定行的值

Jolt变换将字段移动到数组的每个元素中

使用 jq 从带有转义反斜杠字符的嵌套 JSON 中提取数据

NiFi 使用嵌套数组将 avro 转换为 JSON 数组格式

使用 REACT 从字段值中读取 JSON 元素

如何在 powerapps 中将详细信息表单转换为 json?

使用 ConvertFrom-Json 后,Powershell 访问 JSON 中的嵌套对象

如何用 Xidel 正确读取这个 JSON 文件?

hook到 Decodable.init() 以获得未指定的键?

在PowerShell中按时间戳过滤JSON

使用 Javascript 判断 JSON 对象是否包含值

将 YAML 文件转换为 Python JSON 对象

使用绝对或相对路径在 curl 请求中发送 json 文件

JSON 到 JSON 转换器

Jsonpath 与 Jackson 或 Gson

JSON日期到Java日期?

强制 JSON.NET 在序列化 DateTime 时包含毫秒(即使 ms 组件为零)

C++:使用 nlohmann json 从文件中读取 json 对象