Доброго времени суток!
Столкнулся с ошибкой при попытке распарсить JSON: Xcode ругается на CodingKeys.
JSON выглядит так
[
{
“name”: “Алексей”,
“surname”: “Алексеев”,
“middleName”: “Алексеевич”
},
{
“name”: “Иван”,
“surname”: “Иванов”,
“middleName”: “Иванович”
}
]
Модель данных
struct UserInfo: Codable, Identifiable {
var id = UUID()
let name: String
let surname: String
let middleName: String
}
Попытка распирсить JSON
do {
let decodeResponse = try JSONDecoder().decode([UserInfo].self , from: data!)
completion(decodeResponse)
} catch {
print(error)
}
Описание ошибки в блоке catch:
keyNotFound(CodingKeys(stringValue: “id”, intValue: nil), Swift.DecodingError.Context(codingPath: [_JSONKey(stringValue: “Index 0”, intValue: 0)], debugDescription: “No value associated with key CodingKeys(stringValue: “id”, intValue: nil) (“id”).”, underlyingError: nil))
Ошибка появляется после подписания модели данных на протокол Identifiable. Если не модель не подписывать под протокол, то получаемые данные декодируются корректно.
В чем может быть проблема?
Интрефейс пишу на SwiftUI, результат хочу поместить в List.