Skip to content

Instantly share code, notes, and snippets.

@sgpinkus
Created February 23, 2020 03:05
Show Gist options
  • Save sgpinkus/87250c29a88a7ee514553112986dd95a to your computer and use it in GitHub Desktop.
Save sgpinkus/87250c29a88a7ee514553112986dd95a to your computer and use it in GitHub Desktop.
import Foundation
enum Gender : String, Codable {
case M, F
}
struct User : Codable {
let name: String
let email: String
let gender: Gender
let verified: Bool
let age: Int
}
struct Group : Codable {
let subject: String
let deleted: Bool
let users: [String: User]
}
let dataString = """
{
"subject": "Sports",
"deleted": false,
"users": {
"483b06db3118831bfffd7b4c": {
"name": "john",
"email": "john@gmail.com",
"gender": "M",
"verified": true,
"age": 22
},
"b1078c872c79d0da818fc968": {
"name": "mary",
"email": "mary@gmail.com",
"gender": "F",
"verified": false,
"age": 23
}
}
}
"""
let data : Data? = dataString.data(using: .utf8)
let decoder = JSONDecoder()
let response = try decoder.decode(Group.self, from: data!)
print(response)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment