Dataweave Interview Question Using Map and Reduce
This article will help you practice your Dataweave skills in Mulesoft. Here we have to convert the input to a specific type of output.
Join the DZone community and get the full member experience.
Join For FreeThis article will help you practice your Dataweave skills in Mulesoft. Here we have to convert the input to a specific type of output. Let's get started.
Input:
JSON
x
19
1
[
2
{
3
"param_name": "first",
4
"param_value": "second"
5
},
6
{
7
"param_name": "third",
8
"param_value": "fourth"
9
}
10
]
Output:
JSON
xxxxxxxxxx
1
1
{
2
"first": "second",
3
"third": "fourth"
4
}
Let's talk about the solution now. We are going to achieve this in two steps as follows.
Step 1
The below code is our desired output:
JSON
xxxxxxxxxx
1
15
9
1
[
2
{
3
"first": "second"
4
},
5
{
6
"third": "fourth"
7
}
8
]
In order to get output like this, we will use the below code:
Java
xxxxxxxxxx
1
1
%dw 2.0
2
3
output application/json
4
5
---
6
7
payload map ((item, index) -> (item.param_name):item.param_value)
Step 2
This will give us the final output. We use the below code to achieve the same:
Java
xxxxxxxxxx
1
1
%dw 2.0
2
3
output application/json
4
5
---
6
7
payload map ((item, index) -> (item.param_name):item.param_value) reduce ((item, accumulator) -> accumulator ++ item)
I hope this helps improve your Dataweave skills. Thanks!
Interview (journalism)
JSON
Java (programming language)
Convert (command)
MuleSoft
Opinions expressed by DZone contributors are their own.
Comments