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

如何在Mule DataWeave中将flowVar拼接至JSON payload?

DataWeave实现数组合并与字段转换方案

没问题,这个需求用DataWeave几步就能搞定,核心思路就是把原Payload里的Categories数组和FlowVar中的列表做合并,同时给FlowVar里的每个ID配上固定的Code字段。

完整DataWeave代码示例

%dw 2.0
output application/json
---
{
    Categories: payload.Categories ++ (vars.targetFlowVar map {
        ID: $[0], // 因为FlowVar里的每个元素是单元素数组,所以取第一个值作为ID
        Code: "CTY"
    })
}

代码细节解释

  • 保留原有数据:payload.Categories直接获取原有的分类数组,保证原有条目不丢失
  • 转换FlowVar元素:用map函数遍历FlowVar中的每个元素,把每个单元素数组转换成包含ID和固定Code的对象
  • 合并数组:用++运算符把转换后的新条目数组追加到原Categories数组后面,实现最终的合并效果

替换提示

记得把代码里的vars.targetFlowVar替换成你实际使用的FlowVar名称(比如如果你的变量叫newCategoryIds,就改成vars.newCategoryIds)。

用你提供的输入测试的话:

  • 原Payload:
{ "Categories": [ { "ID": "5a873ca3", "Code": "CTY" }, { "ID": "89k873c8", "Code": "CTY" } ] }
  • FlowVar值:([84hkj569],[6j93hl9])
  • 运行代码后就能得到你期望的输出结果:
{ "Categories": [ { "ID": "5a873ca3", "Code": "CTY" }, { "ID": "89k873c8", "Code": "CTY" }, { "ID": "84hkj569", "Code": "CTY" }, { "ID": "6j93hl9", "Code": "CTY" } ] }

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:25:43