I make an http get request to a server and get back a json object with a date string like this:
{
name = \"Place1\";
temperature = 79;
humidity =
Nowadays (September 2017) in Swift 4 there are smarter ways to decode ISO8601:
ISO8601DateFormatter
let str = "2013-07-21T19:32:00Z"
let formatter = ISO8601DateFormatter()
let yourDate = formatter.date(from: str)
JSONDecoder
struct Place : Decodable {
let name : String
let temperature : Int
let humidity : Int
let reportedAt : Date
}
let json = """
{"name" : "Place1", "temperature" : 79, "humidity" : 68, "reported_at" : "2013-07-21T19:32:00Z"}
"""
let data = Data(json.utf8)
let decoder = JSONDecoder()
decoder.dateDecodingStrategy = .iso8601
decoder.keyDecodingStrategy = .convertFromSnakeCase
let place = try! decoder.decode(Place.self, from: data)