%dw 2.0
output application/xml
---
users: { (payload map
user: {
name: $.name,
(insurance: $.insurance) if($.insurance?)
} )
}
Output a Field When Present
This DataWeave example outputs a field if it is present in the input, a JSON array. The first object in the array contains "insurance"
, while the second does not. The XML output mirrors this structure.
Before you begin, note that DataWeave version 2 (%dw 2.0
) is for Mule 4 apps. For a
Mule 3 app, refer to DataWeave version 1
(%dw 1.0
) examples,
within the Mule 3.9 documentation set. For other Mule versions, you can use
the Mule Runtime version selector in the table of contents.
The example uses these functions:
-
map
to go through every element within the input array. -
if($.insurance?)
to determine when to output aninsurance
field.
[
{
"name" : "Julian",
"gender" : "Male",
"age" : 41,
"insurance": "Osde"
},
{
"name" : "Mariano",
"gender" : "Male",
"age" : 33
}
]
<?xml version='1.0' encoding='US-ASCII'?>
<users>
<user>
<name>Julian</name>
<insurance>Osde</insurance>
</user>
<user>
<name>Mariano</name>
</user>
</users>