Я пытаюсь разобрать json и сохранить его в объекте, но «Доступность» ничего не хранит. Может структура создана неправильно? Это кажется правильным, поскольку это массив. Может, есть библиотека, которой я пользуюсь? Я могу сохранить первую структуру Article, но ArticleOne всегда пуста. Мне нужно добавить больше комментариев, так как стек считает, что мой пост - это в основном код.
Наличие всегда пусто.
Поймайте error в блоке do - catch. Он говорит вам, что именно не так. Или проверьте типы. Есть очень много несоответствий.
Спасибо, Вадиан. Это ошибка, которую я получаю. typeMismatch (Swift.String, Swift.DecodingError.Context (codingPath: [_JSONKey (stringValue: «Индекс 0», intValue: 0), CodingKeys (stringValue: «Доступность», intValue: nil), _JSONKey (stringValue: «Индекс 0») , intValue: 0), CodingKeys (stringValue: "IsThisTimeSlotActive", intValue: nil)], debugDescription: "Ожидается декодирование String, но вместо этого найдено число.", lowerError: nil))
IsThisTimeSlotActive ... Ожидается декодирование строки, но вместо этого найдено число довольно ясно. Еще раз, Только значения в двойных кавычках - String
Свойства используемой вами структуры - ArticleOne - должны быть настроены на значения в json:
struct ArticleOne: Codable {
let DemoVehicleAvailabilityId: Int
let DemoVehicleId: Int
let AvailabilityDateTime: String
let IsOnHold: Bool
let IsBooked: Bool
let BookedDateTime: String
let BookedBy: String?
let IsAvailableForDemo: Bool
let RiderReferenceId: Int
let IsCheckedIn: Bool
let CheckinDateTime: String
let HoldUntill: String
let UpdatedDT: String
let ReservedByName: String?
let ReservedByEmail: String?
let ReservedByMobileNumber: String?
let IsReservationConfirmed: Bool
let ReservationConfirmDateTime: String
let IsThisTimeSlotActive: Bool
let History: [T]
}
T - это тип элементов в History.
ArticleOne нужно обновить, я внесу необходимые исправления в ближайшее время
@ user1707694 Я обновил ответ. Придется настроить тип History
Какая у вас ошибка? Подсказка:
Stringимеют только значения в двойных кавычках. И укажите CodingKeys для сопоставления ключей в верхнем регистре с членами структуры в нижнем регистре.