Introduction
I have a requirement to extract the keys and values from a dataset like the following:
{
"account1" : {
"accountID" : "1234",
"name" : "Mary Loo",
"balance" : 234.32
},
"account2" : {
"accountID" : "1234",
"name" : "Lauren Flor",
"balance" : 234.32
},
"account3" : {
"accountID" : "1234",
"name" : "Mary Loo",
"balance" : 234.32
}
}
Apparently, the above data is a Map. Now we need to produce two dataset of values and keys from the input (Map) as the following:
[
{
"accountID": "1234",
"name": "Mary Loo",
"balance": 234.32
},
{
"accountID": "1234",
"name": "Lauren Flor",
"balance": 234.32
},
{
"accountID": "1234",
"name": "Mary Loo",
"balance": 234.32
}
]
and
[
"account1",
"account2",
"account3"
]
Understanding Dataweave pluck Function
Dataweave has devised a function particularly for this kind of requirement. Here is the solution to extract values of a HashMap
%dw 2.0
output application/json
---
payload pluck (item, key, index) -> item
The shorthand version:
%dw 2.0
output application/json
---
payload pluck $
And to extract the keys:
%dw 2.0
output application/json
---
payload pluck (item, key, index) -> key
The shorthand version:
%dw 2.0
output application/json
---
payload pluck $$
No comments:
Post a Comment