У меня есть локальная строка json, и я пытаюсь ее проанализировать, но когда я пытаюсь это сделать, я постоянно получаю сообщение об ошибке. Я также видел эту ошибку во вложенном словаре, но не смог найти ошибку.
Ниже строка json
let jsonNestedString = "{\"meta\":{\"page\":1,\"total_pages\":4,\"per_page\":10,\"total_records\" : 38}, \"reweries\":[\"id\":1234,\"name\":\"saintArnold\"},{\"id\":52892,\"name\":\"buffalo bayou\"]}"
Я делаю этот процесс через Codable, и ниже приведена структура, которую я создал для того же
struct PagedBreweries:Codable{
struct Meta:Codable{
let page : Int
let total_pages:Int
let per_page:Int
let total_records: Int
enum CodingKeys: String, CodingKey{
case page
case total_pages
case per_page
case total_records
}
}
struct Brewery :Codable{
let id:Int
let name:String
}
let meta:Meta
let breweries :[Brewery]
}
затем эти данные анализируются для функции, как показано ниже
func jsonNested(){
let jsonData = jsonNestedString.data(using: .utf8)
let decoder = JSONDecoder()
let data = try! decoder.decode(PagedBreweries.Meta.self, from: jsonData!)
print(data)
}
и когда я пытаюсь собрать, ошибка появляется при попытке! decoder.decode
команда
и ошибка
Тема 1: Неустранимая ошибка: 'попробуйте!' В выражении неожиданно возникла ошибка: Swift.DecodingError.keyNotFound (CodingKeys (stringValue: "page", intValue: nil), Swift.DecodingError.Context (codingPath: [], debugDescription: "Нет значения, связанного с ключом CodingKeys (stringValue: \" page \ ", intValue: nil) (\" page \ ").", underError: nil))
Может ли кто-нибудь предложить решение?
Заранее спасибо