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 an insurance field.

DataWeave Script:
%dw 2.0
output application/xml
users: { (payload map
        user: {
          name: $.name,
          (insurance: $.insurance) if($.insurance?)
        } )
Input JSON Payload:
    "name" : "Julian",
    "gender" : "Male",
    "age" : 41,
    "insurance": "Osde"
    "name" : "Mariano",
    "gender" : "Male",
    "age" : 33
Output XML:
<?xml version='1.0' encoding='US-ASCII'?>

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub
Submit your feedback!
Share your thoughts to help us build the best documentation experience for you!
Take our latest survey!