Как разобрать массив JSON элементов в Swift5? - PullRequest
0 голосов
/ 08 февраля 2020

Я столкнулся с некоторыми трудностями при разборе массива JSON объектов. Вот модель JSON, которую я получаю,

[
  { 
     name: "India" 
  },
  { 
     name: "United States of America"
  },
  { 
     name: "England"
  }
]

И я реализовал две структуры в качестве моделей. Один для названия страны, а другой для массива названий стран.

struct CountryList: Codable {
    var countries: [CountryModel]
}

struct CountryModel: Codable {
    var name : String

    private enum CoadingKeys: String, CodingKey {
        case name = "name"
    }
}

Ниже приведен код в классе NetworkManager

func getAllCountries(url: URL, complition: @escaping ([CountryModel]?) -> ()) {
        URLSession.shared.dataTask(with: url) { (data, repsonse, error) in

            guard let data = data, error == nil else {
                print("Something went wrong")
                fatalError()
            }

            let response = try? JSONDecoder().decode(CountryList.self, from: data)
            print(response?.countries ?? "no data found")
            complition(response?.countries)
        }.resume()
    }

Я получил данные из URLSession. Проблема при декодировании JSON. Я декодирую JSON со структурой модели CountryList. Но это не расшифровка !!!

...