Как я вижу, AudiobookJSON
- это массив пар ключ-значение, поэтому вы получаете ошибку: поэтому вы должны использовать кодируемый код:
Во-первых: вы должны сделать структуру типа Codable структуройвот так (ваши имена кодируемых структурных переменных должны совпадать с теми, которые вы получаете в ответе):
struct Audiobook: Codable {
let id: Int?
let descricao: String?
let urlImagem: String?
}
Второе: когда вы получите ответ, то выполните синтаксический анализ напрямую, используя кодал:
guard let unwrappedDAta = data else { print("Error unwrapping data"); return }
do {
let posts = try JSONDecoder().decode([Audiobook].self, from: unwrappedDAta)
print(posts)
completion(posts)
} catch let message {
print("JSON serialization error:" + "\(message)")
}
Вы можете напрямую использовать ответ как:
for audio in posts {
print("audio.id")
print("audio.descricao")
print("audio.urlImagem")
}