Swift 4 No se pudieron leer los datos porque no están en el formato correcto
Soy nuevo en SWIFT. Desarrollo un proyecto para aprender a analizar JSON. Estoy tratando de analizar JSON a struct. Intento hacerlo de esta manera. Entonces recibo un error comoErr No se pudieron leer los datos porque no están en el formato correcto. ¿Qué hice mal? También intenté usar Alamofire pero no encontré la forma de analizarlo en struct.
func getData(){
let gitUrl = URL(string: "http://95.46.99.250:9095/api/v1/institution-categories")
URLSession.shared.dataTask(with: gitUrl!) { (data, response
, error) in
let data = data
print(data)
do {
let decoder = JSONDecoder()
let gitData = try decoder.decode([Root].self, from: data!)
} catch let err {
print("\nErr", err.localizedDescription)
}
}.resume()
}
Struct
struct Root: Codable {
let data: [InnerItem]
}
struct InnerItem:Codable {
let id: Int?
let image: String?
let name: String?
private enum CodingKeys : String, CodingKey {
case id = "id", image = "image", name = "name"
}
}
JSON
{
"data": [
{
"id": 1,
"name": "Пабы и бары",
"image": "http://95.46.99.250:9095/storage/photos/beer@2x.png"
},
{
"id": 2,
"name": "Кафе",
"image": "http://95.46.99.250:9095/storage/photos/coffee@3x.png"
},
{
"id": 3,
"name": "Ночной клуб",
"image": "http://95.46.99.250:9095/storage/photos/0201f7523bc2028f174710b51379e432.png"
},
{
"id": 4,
"name": "Ресторан",
"image": "http://95.46.99.250:9095/storage/photos/restaurants@3x.png"
},
{
"id": 5,
"name": "Караоке-клуб",
"image": "http://95.46.99.250:9095/storage/photos/microphone.png"
},
{
"id": 6,
"name": "Суши-бар",
"image": "http://95.46.99.250:9095/storage/photos/sushi.png"
},
{
"id": 7,
"name": "Пиццерии",
"image": "http://95.46.99.250:9095/storage/photos/pizza.png"
},
{
"id": 8,
"name": "Кальянная",
"image": "http://95.46.99.250:9095/storage/photos/c111d1e5ad6b90b61ac36836d220ebba.png"
},
{
"id": 9,
"name": "Общая",
"image": "http://95.46.99.250:9095/storage/photos/Group 315@3x.png"
}
]
}