Mule 在Dataweave中添加条件检查时出错
我正在使用Anypoint Studio 6.1和Mule 3.8.1 我有一个来自CSV文件的布尔字段,我想添加代码来清理数据,例如,将“Y”、“Yes”转换为true或将其设置为false 我只希望在字段有值的情况下代码才能工作。如果它是“”,则我希望忽略它。如果它已填充,则清除数据。我原以为添加when语句就是答案,但它在预览中出错了。我如何使这成为一个有条件的检查 数据编织代码:Mule 在Dataweave中添加条件检查时出错,mule,anypoint-studio,dataweave,Mule,Anypoint Studio,Dataweave,我正在使用Anypoint Studio 6.1和Mule 3.8.1 我有一个来自CSV文件的布尔字段,我想添加代码来清理数据,例如,将“Y”、“Yes”转换为true或将其设置为false 我只希望在字段有值的情况下代码才能工作。如果它是“”,则我希望忽略它。如果它已填充,则清除数据。我原以为添加when语句就是答案,但它在预览中出错了。我如何使这成为一个有条件的检查 数据编织代码: (payload filter $$ > 2) map ((payload01 , indexOfPa
(payload filter $$ > 2) map ((payload01 , indexOfPayload01) -> {
({
isPaid: true
}
when payload01.balanced != ''
and ((lower payload01.balanced == 'yes'
or (lower payload01.balanced) == 'y'
or (lower payload01.balanced ) == 'true')
otherwise {
isPaid: false
})
})
})
试试上面的方法。请添加一些英文文本来解释您的答案。不要只发布代码答案。
Please use below code snipped of Data Weave:
(payload filter $$ > 2) map ((payload01 , indexOfPayload01) -> {
({
isPaid: true when ((payload01.balanced != '')
and ((lower payload01.balanced) == 'yes')
or ((lower payload01.balanced) == 'y')
or ((lower payload01.balanced ) == 'true')) otherwise false
})
(payload filter $$ > 2) map ((payload01 , indexOfPayload01) -> {
({
isPaid: true
}
when payload01.balanced?
and ((lower payload01.balanced == 'yes'
or (lower payload01.balanced) == 'y'
or (lower payload01.balanced ) == 'true')
otherwise {
isPaid: false
})