You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JOLT列表语法求助:如何将嵌套JSON转为扁平化条目?

JOLT 列表展开解决方案

输入JSON

{
  "Country": [
    {
      "Name": "Angola",
      "AnimalNames.AnimalName": [
        "Aspidelaps lubricus",
        "Atheris squamigera",
        "Atractaspis bibronii"
      ]
    },
    {
      "Name": "Argentina",
      "AnimalNames.AnimalName": [
        "Apis mellifera scutellata",
        "Bothrops alternatus",
        "Bothrops ammodytoides"
      ]
    }    
  ]
}

期望输出JSON

[
   {
      "country_name":"Angola",
      "species":"Aspidelaps lubricus"
   },
   {
      "country_name":"Angola",
      "species":"Atheris squamigera"
   },
   {
      "country_name":"Angola",
      "species":"Atractaspis bibronii"
   },
   {
      "country_name":"Argentina",
      "species":"Apis mellifera scutellata"
   },
   {
      "country_name":"Argentina",
      "species":"Bothrops alternatus"
   },
   {
      "country_name":"Argentina",
      "species":"Bothrops ammodytoides"
   }
]

JOLT 转换规范

[
  {
    "operation": "shift",
    "spec": {
      "Country": {
        "*": {
          "AnimalNames.AnimalName": {
            "*": {
              "@2,Name": "[].country_name",
              "@": "[].species"
            }
          }
        }
      }
    }
  }
]

关键逻辑说明

  • 层级遍历:Country.* 遍历每个国家对象,AnimalNames.AnimalName.* 遍历每个国家下的所有物种,完成嵌套数组的逐层解析。
  • 字段关联:@2,Name 向上回溯2层获取当前国家的名称,解决国家与物种的绑定问题;@ 直接取当前遍历到的物种名称。
  • 数组展开:[] 为每个物种生成独立的数组元素,自动实现一对多的扁平化转换,避免出现分离的国家列表或物种列表。

内容的提问来源于stack exchange,提问作者sjlevel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 16:41:32