Guest User

Untitled

a guest
Jan 23rd, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. {
  2. "id": "tokenID-tqkif48",
  3. "name": "@jade",
  4. "game": "WoW",
  5. "age": "18"
  6. },
  7. {
  8. "id": "tokenID-fvkif21",
  9. "name": "@kalel",
  10. "game": "WoW",
  11. "age": "20"
  12. }
  13.  
  14. public typealias Users = [UserModel]
  15. public struct UserModel: Codable {
  16.  
  17. public let id: String
  18. public let game: String
  19. // etc...
  20.  
  21. enum CodingKeys: String, CodingKey {
  22. case id
  23. case game
  24. // etc...
  25.  
  26. guard let url = Bundle.main.url(forResource: "Users", withExtension: "json") else {
  27. fatalError()
  28. }
  29. guard let data = try? Data(contentsOf: url) else {
  30. fatalError()
  31. }
  32.  
  33. let decoder = JSONDecoder()
  34.  
  35. do {
  36. let response = try decoder.decode([UserModel].self, from: data)
  37. for userModel in response {
  38.  
  39. let userDict: [String:String] = [ userModel.name:userModel.game ]
  40.  
  41. let reduction = Dictionary(grouping: userDict.keys) { userDict[$0] ?? "" }.reduce(into: [String:[String]](), { (result, element) in
  42. if element.value.count > 1 {
  43. result[element.key] = element.value
  44. }
  45. })
  46. // error catch etc
  47. }
Add Comment
Please, Sign In to add comment