I'm looking to convert a List of Maps to another List of Maps which is grouped.
So I have the below list of maps -
List<Map<String, Object>
[{
"accId":"1",
"accName":"TestAcc1",
"accNumber":"101",
"currency":"USD",
"amount":"1000"
},
{
"accId":"1",
"accName":"TestAcc1",
"accNumber":"101",
"currency":"GBP",
"amount":"800"
},
{
"accId":"1",
"accName":"TestAcc1",
"accNumber":"101",
"currency":"EUR",
"amount":"900"
},
{
"accId":"2",
"accName":"TestAcc2",
"accNumber":"102",
"currency":"USD",
"amount":"9000"
},
{
"accId":"2",
"accName":"TestAcc2",
"accNumber":"102",
"currency":"GBP",
"amount":"8000"
},
{
"accId":"2",
"accName":"TestAcc2",
"accNumber":"102",
"currency":"EUR",
"amount":"9500"
}
]
Data table for reference:
accId accName accNumber currency amount
1 TestAcc1 101 USD 1000
1 TestAcc1 101 GBP 800
1 TestAcc1 101 EUR 900
2 TestAcc2 102 USD 9000
2 TestAcc2 102 GBP 8000
2 TestAcc2 102 EUR 9500
I'd like to group the currency + amount for the accounts to something like below:
List<Map<String, Object>
[{
"accId":"1",
"accName":"TestAcc1",
"accNumber":"101",
"currencies":
{
"USD":"1000",
"GBP":"800",
"EUR","900"
}
},
{
"accId":"2",
"accName":"TestAcc2",
"accNumber":"102",
"currencies":
{
"USD":"9000",
"GBP":"8000",
"EUR","9500"
}
}
]
I was wondering how to go about doing this. Can somebody please help me out here?