如何在数据编织(Mulesoft)中进行此映射
1.街道地址:如果ABC为空且ZXY已填充,则映射ZXY 2.街道地址UC:如果ZXY和ABC都已填充,且ABC不以“邮政信箱”、“邮政信箱”、“BP”或“邮政巴士”开头,则映射ABC;否则映射为ZXY 3.街道地址:如果P08 ABC已填充且ZXY为空,则仅地图ABC 我已经设法绘制了第一种情况和第三种情况,如下所示,但不确定如何绘制第二种情况如何在数据编织(Mulesoft)中进行此映射,mule,dataweave,anypoint-studio,Mule,Dataweave,Anypoint Studio,1.街道地址:如果ABC为空且ZXY已填充,则映射ZXY 2.街道地址UC:如果ZXY和ABC都已填充,且ABC不以“邮政信箱”、“邮政信箱”、“BP”或“邮政巴士”开头,则映射ABC;否则映射为ZXY 3.街道地址:如果P08 ABC已填充且ZXY为空,则仅地图ABC 我已经设法绘制了第一种情况和第三种情况,如下所示,但不确定如何绘制第二种情况 { ADDRESS_LINE1:ABC } when ABC != "" otherwise { ADDRESS
{
ADDRESS_LINE1:ABC
} when ABC != ""
otherwise
{
ADDRESS_LINE1:ZXY
}
试试这个。。。它应该会起作用 你可以在。。否则就像你在任何语言中所做的那样
%dw 1.0
%output application/java
---
{
'Address': (payload.addr.ABC when (payload.addr.ABC[0..5] != 'PO BOX'
and payload.addr.ABC[0..7] != 'P.O. BOX') otherwise payload.addr.XYZ)
when (payload.addr.ABC != ''
and payload.addr.XYZ != '')
otherwise (payload.addr.ABC when payload.addr.ABC != '' otherwise payload.addr.XYZ)
}
我用样本输入进行了检查-
<?xml version='1.0' encoding='UTF-8'?>
<addr>
<ABC>P.O. BOX 123</ABC>
<XYZ>DEFG</XYZ>
</addr>
邮政信箱123
德福
!符号不起作用,我能知道0..5有什么作用吗???@SatheeshKumar,你看到了什么错误!?[0..5]是字符串范围选择器(如子字符串)。ABC[0..5]将返回字符串的前6个字符。签入更多文档。对于我文章中的上述示例输入,我在输出中获得DEFG作为地址,因为ABC以“P.O.BOX”开头