如何在mulesoft中处理dataweave中的if-else嵌套语句

如何在mulesoft中处理dataweave中的if-else嵌套语句,mule,Mule,选项:有效负载时为“是”。有效负载时为“是”。有效负载时为“是”。有效负载时为“否”。有效负载时为“否”。有效负载时为“否”。有效负载时为“是”。有效负载时为“否”。有效负载时为“否”。有效负载时为“否”。有效负载时为“否”。这可以通过以下示例实现:- <http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuratio

选项:有效负载时为“是”。有效负载时为“是”。有效负载时为“是”。有效负载时为“否”。有效负载时为“否”。有效负载时为“否”。有效负载时为“是”。有效负载时为“否”。有效负载时为“否”。有效负载时为“否”。有效负载时为“否”。

这可以通过以下示例实现:-

<http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/>
<flow name="DataweaveFlow">
 <http:listener config-ref="HTTP_Listener_Configuration" path="/poc" doc:name="HTTP"/>

 <dw:transform-message doc:name="Transform Message">
            <dw:set-payload><![CDATA[ %dw 1.0 
 %input payload application/json         
 %output application/json 
--- 

         { value1: "Yes" } when payload.country==true and payload.state==false
         otherwise (
         { value1: "No" } when payload.country==false and payload.state==true
             otherwise (
             { value1: "NOT VALID" } when payload.country==false and payload.state==false

                 otherwise "your value"

                 ))]]></dw:set-payload>
        </dw:transform-message>
 <logger message="#[message.payloadAs(java.lang.String)]" level="INFO" doc:name="Logger" />

</flow>
案例2:-

{
"country":false,
"state":true
}
案例3:-

{
"country":false,
"state":false
}
案例4:-

{
"country":true,
"state":"default value"
}

这可以通过以下示例实现:-

<http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/>
<flow name="DataweaveFlow">
 <http:listener config-ref="HTTP_Listener_Configuration" path="/poc" doc:name="HTTP"/>

 <dw:transform-message doc:name="Transform Message">
            <dw:set-payload><![CDATA[ %dw 1.0 
 %input payload application/json         
 %output application/json 
--- 

         { value1: "Yes" } when payload.country==true and payload.state==false
         otherwise (
         { value1: "No" } when payload.country==false and payload.state==true
             otherwise (
             { value1: "NOT VALID" } when payload.country==false and payload.state==false

                 otherwise "your value"

                 ))]]></dw:set-payload>
        </dw:transform-message>
 <logger message="#[message.payloadAs(java.lang.String)]" level="INFO" doc:name="Logger" />

</flow>
案例2:-

{
"country":false,
"state":true
}
案例3:-

{
"country":false,
"state":false
}
案例4:-

{
"country":true,
"state":"default value"
}