简体   繁体   English

从Json数据进行分组,其中包含Swift 4中的字典数组

[英]Grouping from Json data, which contain array of dictionaries in Swift 4

I've local json file, which contains array of dictionaries. 我有本地json文件,其中包含字典数组。 I want to group based on key name from below json. 我想根据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 } ] [{“名称”:“ Abc”,“数字”:123,“标记”:78},{“名称”:“ xyz”,“数字”:456,“标记”:50},{“名称”: “ Abc”,“ number”:789,“ marks”:78}]

Code: 码:

code and error message 代码和错误信息

init(grouping:by:) 的init(分组:由:)

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]]]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM