struct Locations: Codable {
var plan: [Location]
struct Location: Codable {
var points: Point
struct Point: Codable {
var lat: Double?
var lng: Double?
var height: Double?
}
}
}
var data = """
{"plan":[
{"points":{
"lat":123.111,
"lng":456.222,
"height":50.0
}},
{"points":{
"lat":789.888,
"lng":22.666,
"height":30.0
}}]
}
""".data(using: .utf8)
// Decode
let locations = try? JSONDecoder().decode(Locations.self, from: data!)
if let locations = locations {
for location in locations.plan {
print(location.points.lat)
print(location.points.lng)
print(location.points.height)
}
}
// Encode
let point1 = Locations.Location(points: Locations.Location.Point(lat: 123.111, lng: 456.222, height: 50.0))
let point2 = Locations.Location(points: Locations.Location.Point(lat: 789.888, lng: 22.666, height: 30.0))
let locations1 = Locations(plan: [point1, point2])
let encoder = JSONEncoder()
encoder.outputFormatting = .prettyPrinted
let encoded = try! encoder.encode(locations1)
print(String(data: encoded, encoding: .utf8)!)
Created
June 26, 2018 23:53
-
-
Save KentarouKanno/a0cdc20dd54c1133cb5c828f2433f986 to your computer and use it in GitHub Desktop.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment