Skip to content

Instantly share code, notes, and snippets.

@magicien
Created August 22, 2017 10:03
Show Gist options
  • Save magicien/988350df3691df3d5a5c363bf2972fa2 to your computer and use it in GitHub Desktop.
Save magicien/988350df3691df3d5a5c363bf2972fa2 to your computer and use it in GitHub Desktop.
import Foundation
let json = """
{
"user_id": 1,
"user_name": "magicien",
"friends": [
{
"user_id": 2,
"is_best_friend": true
}
]
}
""".data(using: .utf8)!
struct UserInfo: Codable {
let uid: Int
let userName: String
let url: URL?
var counter: Int = 0
enum CodingKeys: String, CodingKey {
case uid = "user_id"
case userName = "user_name"
case url
}
}
let decoder = JSONDecoder()
do {
let userInfo = try decoder.decode(UserInfo.self, from: json)
print(userInfo)
} catch DecodingError.keyNotFound(let key, let context) {
print("keyNotFound: \(key): \(context)")
} catch {
print("\(error.localizedDescription)")
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment