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

请求实现从用户设备数组到一对多结构的Jolt转换

Jolt转换规则:用户与设备一对多结构聚合

输入JSON

{
  "q": [
    {
      "UserId": "3000",
      "SiteId": "website1",
      "CreateDate": "2022-04-01T08:26:21.401Z",
      "DevideId": "ddd1111",
      "TokenId": "abcd1234"
    },
    {
      "UserId": "3000",
      "SiteId": "website1",
      "CreateDate": "2022-04-01T08:26:21.401Z",
      "DevideId": "ddd2222",
      "TokenId": "wxyz1234"
    },
    {
      "UserId": "3002",
      "SiteId": "website1",
      "CreateDate": "2022-04-01T08:26:21.401Z",
      "DevideId": "ddd333",
      "TokenId": "wxyz1234"
    }
  ]
}

期望输出JSON

[
  {
    "CreateDate": "2022-04-01T08:26:21.401Z",
    "UserId": "3000",
    "devices": [
      {
        "DevideId": "ddd1111",
        "SiteId": "website1",
        "TokenId": "abcd1234"
      },
      {
        "DevideId": "ddd2222",
        "SiteId": "website1",
        "TokenId": "wxyz1234"
      }
    ]
  },
  {
    "CreateDate": "2022-04-01T08:26:21.401Z",
    "UserId": "3002",
    "devices": [
      {
        "DevideId": "ddd333",
        "SiteId": "website1",
        "TokenId": "wxyz1234"
      }
    ]
  }
]

Jolt转换规则

[
  {
    "operation": "shift",
    "spec": {
      "q": {
        "*": {
          "UserId": "@1,UserId.&",
          "CreateDate": "@1,UserId.&",
          "DevideId": "@1,UserId.devices[#2].&",
          "SiteId": "@1,UserId.devices[#2].&",
          "TokenId": "@1,UserId.devices[#2].&"
        }
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": {
        "UserId": "[#2].UserId",
        "CreateDate": "[#2].CreateDate",
        "devices": "[#2].devices"
      }
    }
  }
]

规则说明

  • 第一个shift操作:以UserId作为分组标识,将用户公共字段(UserId、CreateDate)和设备专属字段分别归类,设备字段会被存入devices数组,#2对应原数组的索引,保证同一用户的多个设备按顺序存入数组。
  • 第二个shift操作:把第一步生成的以用户ID为键的对象结构,转换为目标数组格式,保留用户公共字段和对应的设备数组,完成一对多结构的聚合。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 00:15:10