Ну, распечатанная ошибка довольно понятна.Полученные данные не отформатированы так, как вы ожидаете, и некоторые ключи отсутствуют (id
), поэтому JSONDecoder()
не может их декодировать.
Убедитесь, что полученный ответПравильно отформатированный перед попыткой его декодирования.
РЕДАКТИРОВАТЬ: Таким образом, увидев ваш комментарий, ваша модель не соответствует JSON, который вы получаете, она должна выглядеть примерно так:
import UIKit
public struct JsonStudent: Decodable {
let students: [Student]
enum CodingKeys: String, CodingKey {
case students = "GetDataResult"
}
}
public struct Student: Decodable {
let id: Int
let name: String
}
class ViewController: UIViewController {
@IBAction func btnshow(_ sender: Any) {
let link = "http://10.211.55.3/WcfService1/Service1.svc/GetData"
guard let url = URL(string: link) else {
print("error during connection")
return
}
URLSession.shared.dataTask(with: url) { (data, response, error) in
guard let data = data
else { print("there is no data")
return
}
do {
let students = try JSONDecoder().decode(JsonStudent.self, from: data)
print(students)
} catch {
print("conversion error")
print(error)
}
}.resume()
}
}