Я получаю следующую ошибку при попытке декодировать строку JSON в Struct и отобразить результаты в виде таблицы: "Ожидается декодирование массива, но вместо этого найдена строка / данные."
У меня есть следующая структура:
struct UserModel: Decodable {
let userID: String
let fullName: String
let emailAddr: String
}
, и я получаю данные из API (используя Alamofire) с помощью:
Alamofire.request("http://myURL")
.responseString(completionHandler: { (response) in
switch response.result {
case .success(let resultJSON):
print(resultJSON)
do {
let jsonData = resultJSON.data(using: .utf8)!
let users = try! JSONDecoder().decode(Array<UserModel>.self, from: jsonData ) <== ERRORS HERE
for user in users {
print(user.userID)
print(user.fullName)
print(user.emailAddr)
self.users.append(user)
}
}
self.tableView.reloadData()
case .failure(let error):
print(error.localizedDescription)
}
})
}
Строка JSON, которую я получаю от APIis:
"[{\" userID \ ": \" user1 \ ", \" fullName \ ": \" User One \ ", \" email \ ": \" user1 @ mydomain.com \ "}, {\" userID \ ": \" user2 \ ", \" fullName \ ": \" User Two \ ", \" email \ ": \" user2@mydomain.com \ "}]"