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

如何在DataWeave 2.0中为传入负载的客户ID追加默认邮箱域名并分批?

DataWeave 2.0 实现客户ID分批并追加邮箱域名

输入负载

{"application": "salesforce","payload": {"activeCustomersReturned": 9,"activeCustomers": ["c4444","c2345","c9099","c1234","c3456","c0876","c4589","c4139","c9189"]}}

期望输出

[{"CustomerData": ["c4444@gmail.com","c2345@gmail.com","c9099@gmail.com"]},{"CustomerData": ["c1234@gmail.com","c3456@gmail.com","c0876@gmail.com"]},{"CustomerData": ["c4589@gmail.com","c4139@gmail.com","c9189@gmail.com"]}]

问题分析

你已经通过divideBy 3完成了客户ID的分批,但错误地尝试将整个分批后的数组直接转成字符串拼接域名,这会导致数组被整体转换而非每个元素单独处理。正确的做法是对每一批内的每个客户ID单独做拼接操作。

正确代码

%dw 2.0
import * from dw::core::Arrays
output application/json

var activeCustomers = payload.payload.activeCustomers divideBy 3
---
activeCustomers map ((item) -> {
    "CustomerData": item map ($ ++ "@gmail.com")
})

代码解释

  1. divideBy 3:将客户ID数组按每3个元素拆分,得到一个包含3个子数组的数组。
  2. 外层map:遍历每个分批后的子数组,为每个子数组生成一个包含CustomerData键的对象。
  3. 内层map:对每个子数组里的客户ID元素,逐个拼接@gmail.com后缀,生成带域名的邮箱字符串数组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 11:03:23