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

Mule 4.4社区版DataWeave XML转JSON报错求助

DataWeave XML转JSON代码报错排查与修正

错误分析

报错信息提示第5行逗号位置非法,核心原因是**if语句的满足分支直接返回多个键值对,未用大括号包裹为单个对象**。DataWeave语法要求if的每个分支必须是一个合法的单个表达式,直接罗列键值对会被解析为多个独立表达式,触发语法错误。

修正后的代码

%dw 2.0
output application/json writeAttributes=true
---
if (payload.Result.EMPS? and payload.Result.EMPS.*EMP != []) {
    trackId: payload.Result.TRNO,
    empDetails: payload.Result.EMPS.*EMP map {
        empName: $.NAME,
        empAge: $.AGE
    }
} else {
    null
}

关键优化点

  • 用{}包裹if分支内的所有键值对,形成完整的JSON对象,符合DataWeave语法规范
  • 优化判断条件:同时检查EMPS节点是否存在、EMP子节点是否非空,避免潜在的空指针异常
  • 保留*EMP的遍历方式,正确处理XML中的多个EMP节点,生成数组格式的empDetails

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 23:24:46