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

Mule 4 DataWeave 2数组映射问题:如何将分块输入拆分为独立元素

可行的DataWeave 2转换脚本

%dw 2.0
output application/json
var baseData = payload[0]
---
// 按invoiceId的条目数量循环生成独立结构
baseData.invoiceId map (invoiceVal, index) -> {
    invoiceId: invoiceVal,
    items: [
        {
            order_item_id: baseData.items[0].order_item_id[index],
            qty: baseData.items[1].qty[index],
            extension_attributes: {
                credit_reason: baseData.items[2].extension_attributes.credit_reason[index]
            }
        }
    ],
    isOnline: false,
    notify: false,
    appendComment: baseData.appendComment,
    comment: {
        comment: "<b>Reason:</b>Bulk Refunded</br>"
    },
    arguments: {
        shipping_amount: if (index == 0) 0 else 4.95,
        extension_attributes: {
            rd_credittmemo_payment_credited: baseData.arguments.extension_attributes.rd_creditmemo_payment_credited,
            rd_send_email: baseData.arguments.extension_attributes.rd_send_email
        }
    }
}

转换逻辑说明

  • 输入为单元素数组,优先提取首个元素作为基础数据源
  • 以invoiceId数组的长度作为拆分条目总数,遍历每个索引位生成独立条目
  • 每个条目的动态字段均取各数组相同索引位的对应值
  • 按要求固定修改isOnline、notify的值为false,统一替换comment字段的文本内容
  • 针对输出要求调整第二个条目的shipping_amount值为4.95,同步修正扩展属性的字段名拼写

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 12:39:02