Top DataWeave Interview Questions and Answers | MuleSoft Guide

Question 1: Basic String Manipulation

Input:

{  "name": "John Doe"}

DataWeave Script:

%dw 2.0output application/json---{  "name": upper(payload.name)}

Output:

{  "name": "JOHN DOE"}

Question 2: Filtering an Array

Input:

[  {"id": 1, "value": 10},  {"id": 2, "value": 20},  {"id": 3, "value": 30}]

DataWeave Script:

%dw 2.0output application/json---payload filter ((item) -> item.value > 15)

Output:

[  {"id": 2, "value": 20},  {"id": 3, "value": 30}]

Question 3: Transforming an Object

Input:

{  "firstName": "John",  "lastName": "Doe"}

DataWeave Script:

%dw 2.0output application/json---{  "fullName": payload.firstName ++ " " ++ payload.lastName}

Output:

{  "fullName": "John Doe"}

Question 4: Nested Object Access

Input:

{  "user": {    "name": "Alice",    "age": 30  }}

DataWeave Script:

%dw 2.0output application/json---payload.user.name

Output:

"Alice"

Question 5: Map Over an Array

Input:

[1, 2, 3, 4]

DataWeave Script:

%dw 2.0output application/json---payload map ((item) -> item * 2)

Output:

[2, 4, 6, 8]

Question 6: Combining Arrays

Input:

[[1, 2, 3], [4, 5, 6]]

DataWeave Script:

%dw 2.0output application/json---payload[0] ++ payload[1]

Output:

[1, 2, 3, 4, 5, 6]

Question 7: Conditional Logic

Input:

{  "age": 20}

DataWeave Script:

%dw 2.0output application/json---if (payload.age >= 18) "Adult" else "Minor"

Output:

"Adult"

Question 8: Date Formatting

Input:

"2023-01-01T00:00:00Z"

DataWeave Script:

%dw 2.0output application/json---payload as Date {format: "yyyy-MM-dd'T'HH:mm:ssz"} as String {format: "MM/dd/yyyy"}

Output:

"01/01/2023"

Question 9: Splitting Strings

Input:

"apple,banana,cherry"

DataWeave Script:

%dw 2.0output application/json---payload splitBy ","

Output:

["apple", "banana", "cherry"]

Question 10: Combining Objects

Input:

[{"name": "John"}, {"age": 30}]

DataWeave Script:

%dw 2.0output application/json---payload[0] ++ payload[1]

Output:

{  "name": "John",  "age": 30}

Question 11: Flattening an Array of Arrays

Input:

[[1, 2], [3, 4], [5, 6]]

DataWeave Script:

%dw 2.0output application/json---flatten(payload)

Output:

[1, 2, 3, 4, 5, 6]

Question 12: String Length

Input:

"Hello, World!"

DataWeave Script:

%dw 2.0output application/json---sizeOf(payload)

Output:

13

Question 13: Array with Object Mapping

Input:

[  {"name": "John", "age": 30},  {"name": "Jane", "age": 25}]

DataWeave Script:

%dw 2.0output application/json---payload map ((item) -> item.name)

Output:

["John", "Jane"]

Question 14: Finding an Object

Input:

[  {"id": 1, "name": "John"},  {"id": 2, "name": "Jane"}]

DataWeave Script:

%dw 2.0output application/json---(payload filter ((item) -> item.id == 1))[0]

Output:

{"id": 1, "name": "John"}

Question 15: Joining Strings

Input:

["Data", "Weave", "is", "awesome"]

DataWeave Script:

%dw 2.0output application/json---payload joinBy " "

Output:

"Data Weave is awesome"
]]>
Post a Comment (0)
Previous Post Next Post