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

如何使用Jolt脚本将扁平化JSON转换为聚合结构化JSON

使用Jolt聚合扁平化JSON的联系电话数据

需求说明

将包含同一人员多条联系电话的扁平化JSON数据,聚合为结构化JSON,把多个联系电话整合为数组形式。

输入扁平化JSON

[
  {
    "person.first_name": "Peter",
    "person.last_name": "Thomson",
    "person.contact.phone": 123
  },
  {
    "person.first_name": "Peter",
    "person.last_name": "Thomson",
    "person.contact.phone": 987
  }
]

期望输出结构化JSON

{
  "person": {
    "first_name": "Peter",
    "last_name": "Thomson",
    "contact": [
      {
        "phone": 123
      },
      {
        "phone": 987
      }
    ]
  }
}

Jolt转换脚本

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "person.first_name": "@(1,person.last_name).first_name",
        "person.last_name": "@(1,person.last_name).last_name",
        "person.contact.phone": "@(1,person.last_name).contact[#2].phone"
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*": "person.&",
        "contact": "person.&"
      }
    }
  }
]

脚本解释

  • 第一个shift操作:
    • 遍历输入数组的所有条目(通配符*)
    • 以人员的last_name为键,将同一人员的first_name、last_name归拢到同一个对象下
    • 把每个条目里的电话信息,依次存入对应人员的contact数组,#2用于生成递增的数组索引,确保每个电话作为独立对象存在
  • 第二个shift操作:
    • 将分组好的人员信息整体迁移到顶层的person节点,调整为期望的最终结构

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 15:37:33