How to Find Unique Names from Input Using DataWeave: A Step-by-Step Guide – Integration-Anywhere
This article will help you practice your DataWeave skills in MuleSoft. Here we will find unique names from our Input. Let’s get started.
Input:
[
[
{
"name":"john"
},
{
"name":"leonardo"
}
],
[
{
"name": "leonardo"
},
{
"name": "alicia"
},
{
"name": "jennifer"
},
{
"name": "john"
}
]
]
Expected Output:
[
"john",
"leonardo",
"alicia",
"jennifer"
]
Let’s talk about the solution now. We are going to achieve this in multiple steps as follows:
Step 1:
This step will generate output like below-
[
"john",
"leonardo",
"leonardo",
"alicia",
"jennifer",
"john"
]
Dataweave Code:
%dw 2.0
output application/json
---
flatten(payload map ((item, index) -> item.name))
Step 2:
This step will generate the final expected output by using below dataweave code –
%dw 2.0
output application/json
---
flatten(payload map ((item, index) -> item.name)) distinctBy ((item, index) -> item)
Hope this helps improve your DataWeave skills. Thanks..!!