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

如何通过Jolt依据输入数组实现JSON对象拆分?

Jolt转换:拆分含数组address的对象为多个独立条目

需求清晰:把输入数组中每个带address数组的对象,按数组内的每个元素拆成单独对象,新对象保留原对象的name、dept字段,address字段对应数组里的单个元素。

输入JSON

[
  {
    "name": "Mike",
    "dept": "IT",
    "address": [
      "Austria",
      "India",
      "US"
    ]
  },
  {
    "name": "Shelly",
    "dept": "Pharma",
    "address": [
      "Finland",
      "UK"
    ]
  }
]

对应的Jolt规范

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "address": {
          "*": {
            "@2,name": "[&3].name",
            "@2,dept": "[&3].dept",
            "@": "[&3].address"
          }
        }
      }
    }
  }
]

规范说明

  • 第一层*:遍历输入数组中的每一个原始对象
  • address:定位到当前对象的address数组
  • 内层*:遍历address数组中的每一个元素
  • @2,name/@2,dept:向上回溯2层,获取原始对象的name和dept字段
  • [&3]:确定新数组的索引位置,确保每个数组元素对应一个独立的新对象
  • @:直接引用当前遍历到的address数组元素值,赋值给新对象的address字段

转换后的输出

[
  {
    "name": "Mike",
    "dept": "IT",
    "address": "Austria"
  },
  {
    "name": "Mike",
    "dept": "IT",
    "address": "India"
  },
  {
    "name": "Mike",
    "dept": "IT",
    "address": "US"
  },
  {
    "name": "Shelly",
    "dept": "Pharma",
    "address": "Finland"
  },
  {
    "name": "Shelly",
    "dept": "Pharma",
    "address": "UK"
  }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 05:42:50