I've local json file, which contains array of dictionaries. I want to group based on key name from below json. Means same name in one group. Please tell me how can I achieve that. Thank you.
Json Data:
[ { "name": "Abc", "number": 123, "marks": 78 }, { "name": "xyz", "number": 456, "marks": 50 }, { "name": "Abc", "number": 789, "marks": 78 } ]
Code:
You should return value of name key in the closure.
let arr = [ [ "name": "Abc", "number": 123, "marks": 78 ], [ "name": "xyz", "number": 456, "marks": 50 ], [ "name": "Abc", "number": 789, "marks": 78 ] ]
let dict = Dictionary(grouping: arr) { $0["name"] as! String }
print(dict)
//["Abc": [["name": "Abc", "number": 123, "marks": 78], ["name": "Abc", "number": 789, "marks": 78]], "xyz": [["name": "xyz", "number": 456, "marks": 50]]]