Пожалуйста, поймайте ошибку и исправьте ее.Codable
ошибки очень описательны.
Несоответствие типа 'Int': ожидается декодирование Int, но вместо этого найдена строка / данные.
codingPath: [CodingKeys (stringValue: "results", intValue: nil), _JSONKey (stringValue:" Index 0 ", intValue: 0), CodingKeys (stringValue:" items_bought ", intValue: nil), _JSONKey (stringValue:" Index 0 ", intValue: 0), CodingKeys (stringValue: "цена", intValue: ноль)]
ясно говорит, что price
в BoughtItems
означает String
, а не Int
.
После замены let price: Int
с let price: String
вы получите еще одну ошибку
Несоответствие типа 'String': ожидается декодирование String, но вместо этого найдено число.
codingPath: [CodingKeys (stringValue: "results", intValue: nil), _JSONKey (stringValue: "Index 0", intValue: 0), CodingKeys (stringValue: "total", intValue: nil)]
, что тоже очень понятно.Тип total
- Double
, а не String
Исправление: let total: Double
Пожалуйста, научитесь читать JSON.Все очень просто:
- Все в двойных кавычках ( no исключение) равно
String
- Числовые значения с плавающей запятой
Double
- Другие числовые значения
Int
. true
или false
(без двойных кавычек) составляет Bool