Я пытаюсь сопоставить JSON объекту, который я создал, но продолжаю сталкиваться с трудностями
Вот как выглядит JSON
Я пытался сделать это
var overview: NYTimesBestsellerOverview?
guard let gitUrl = URL(string: URLConstants.BESTSELLER_LIST_OVERVIEW) else { return }
URLSession.shared.dataTask(with: gitUrl) { (data, response
, error) in
guard let data = data else { return }
do {
let decoder = JSONDecoder()
let overview = try decoder.decode(NYTimesBestsellerOverview.self, from: data)
print(overview.num_results)
} catch let err {
print("Err", err)
}
}.resume()
это мой объект:
import Foundation
struct NYTimesBestsellerOverview: Codable {
let copyright: String
let num_results: Int
let status: String
let results: Results
enum CodingKeys: CodingKey {
case copyright
case num_results
case status
case results
}
}
struct Results: Codable {
var display_name: String
var published_date: String
let books: [Book]
enum CodingKeys: CodingKey {
case display_name
case published_date
case books
}
}
Я продолжаю получать это сообщение об ошибке
Err typeMismatch (Swift.Dictionary, Swift.DecodingError.Context(codingPath: [CodingKeys (stringValue: «results», intValue: nil)], debugDescription: «Предполагается, что декодируется словарь, но вместо него найден массив.», underError: nil))