在mule 3中进行数据转换时面临的问题。

问题描述 投票:0回答:1

我试图使用transform message组件将数据库的输出转换为json。

这是输入的有效载荷

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

变压器内部的数据编织曝光

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

}

我在Transform消息中做了映射,但每当测试流程时,我都会收到异常信息

com.mulesoft.weave.mule.exception.WeaveExecutionException。

谁能帮帮我

谢谢,Nikhil

java mule dataweave
1个回答
1
投票

输入的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
  }
]

0
投票

你也不要在dataweave模板中引用键。请看这里的样本https:/docs.mulesoft.commule-runtime3.9dataweave-language-introduction。

%dw 1.0
%output application/json
---
payload map ((payload01 , indexOfPayload01) -> 
  { 
    usd: payload01.'usd ', 
    goal: payload01.goal, 
    Inr: payload01.Inr
  })
© www.soinside.com 2019 - 2024. All rights reserved.