首页 > 解决方案 > 在 mule 3 中进行数据转换时面临的问题

问题描述

我正在尝试使用转换消息组件将数据库的输出转换为 json。

这是输入有效载荷

[{
    "usd ": 0.0, 
    "goal": 3041920,
    "Inr": 0.0,
}]

变压器内部的数据编织exp

%dw 1.0
%output application/json
---
payload map ((payload01 , indexOfPayload01) -> {
    "usd ": payload01.usd ,
    "goal": payload01.goal,
    "Inr": payload01.Inr,

}

我已经在转换消息中完成了映射,并且每当测试流程时我都会遇到异常

com.mulesoft.weave.mule.exception.WeaveExecutionException

有人可以帮忙吗

谢谢,尼基尔

标签: javamuledataweave

解决方案


输入 JSON 和脚本有一些错误。首先,必须删除每个属性中的最后一个逗号。要访问“usd”键,您需要在键名中使用引号。无论如何,在密钥中有引号是很奇怪的。

更正的脚本:

%dw 1.0
%output application/json
---
payload map ((payload01 , indexOfPayload01) -> 
  { 
    "usd": payload01.'usd ', 
    "goal": payload01.goal, 
    "Inr": payload01.Inr
  })

更正的输入:

[{ "usd ": 0.0, "goal": 3041920, "Inr": 0.0 }]

输出:

[
  {
    "usd": 0.0,
    "goal": 3041920,
    "Inr": 0.0
  }
]

推荐阅读