如何在Mulesoft中的Xml中比较JSON对象值

身体

我的Json有效负载是

[
    {
        "Customer Contacted": "Rupesh",
        "Inspected": "Mahesh",
        "Lost": "Fire",
        "Job Start Date": "",
        "Work Complete": "",
        "Billing Complete": ""
    }
]

我的XML是

%dw 2.0
output application/xml 
---

    {
        root: {
            CustomerContacted: if(payload."Customer Contacted"=="Rupesh") "Hari" 
            else null,
            Inspected: if(payload."Inspected"=="Mahesh")"vamsi"
            else null,
            Lost: payload.Lost,
            JobStartDate: payload."Job Start Date",
            WorkComplete: payload."Work Complete",
            BillingComplete: payload."Billing Complete"
        }
    }

如果这些值与“有效负载”中的值和“如果条件”中提供的值匹配,则应更改该值。转换后,我低于输出。

<?xml version='1.0' encoding='UTF-8'?>
<root>
  <CustomerContacted/>
  <Inspected/>
  <Lost>Fire</Lost>
  <JobStartDate></JobStartDate>
  <WorkComplete></WorkComplete>
  <BillingComplete></BillingComplete>
</root>

我在“与客户联系”和“已检查”字段中得到空值,但我期望值“ Rupesh”和“ Mahesh”为“ Hari”和“ Vamsi”

请让我知道需要在XML代码中进行哪些更改。

雷阿

有效负载是一个数组,要将元素与字符串匹配,需要定义索引。例如,在您的Payoad上,Customer Contacted是对象的一部分,而您的有效负载类型是一个数组。

语法应类似于:

if(payload."Customer Contacted"[0] == "Rupesh") "Hari" 
   else null

例:

%dw 2.0
output application/xml
---
{
        root: {
            CustomerContacted: if(payload."Customer Contacted"[0] == "Rupesh") "Hari" 
            else null,
            Inspected: if(payload."Inspected"[0]=="Mahesh")"vamsi"
            else null,
            Lost: payload.Lost[0],
            JobStartDate: payload."Job Start Date"[0],
            WorkComplete: payload."Work Complete"[0],
            BillingComplete: payload."Billing Complete"[0]
        }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章