Swift 4 decodificando json usando Codificable
¿Alguien puede decirme qué estoy haciendo mal? He visto todas las preguntas aquí como desde aquí¿Cómo decodificar una estructura JSON anidada con el protocolo Swift Decodable? y he encontrado uno que parece exactamente lo que necesitoSwift 4 decodificación codificable json.
{
"success": true,
"message": "got the locations!",
"data": {
"LocationList": [
{
"LocID": 1,
"LocName": "Downtown"
},
{
"LocID": 2,
"LocName": "Uptown"
},
{
"LocID": 3,
"LocName": "Midtown"
}
]
}
}
struct Location: Codable {
var data: [LocationList]
}
struct LocationList: Codable {
var LocID: Int!
var LocName: String!
}
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let url = URL(string: "/getlocationlist")
let task = URLSession.shared.dataTask(with: url!) { data, response, error in
guard error == nil else {
print(error!)
return
}
guard let data = data else {
print("Data is empty")
return
}
do {
let locList = try JSONDecoder().decode(Location.self, from: data)
print(locList)
} catch let error {
print(error)
}
}
task.resume()
}
El error que obtengo es:
typeMismatch (Swift.Array, Swift.DecodingError.Context (codingPath: [], debugDescription: "Se esperaba que decodificara Array pero encontró un diccionario en su lugar.", subyacenteError: nil))