Как разобрать это json с alamofire - PullRequest
0 голосов
/ 27 апреля 2020

Как разобрать это json в моем коде? (Как распарсить этот json в моем коде?). Какую модель данных собирать? (какую модель данных собирать?). Я не понимаю, как бросать словари в словари позже. (Не пойму как потом кастить словари в словарях).

Я получаю ошибку напротив let artist:

Значение типа 'Dictionary.Element' (aka '(ключ: String, значение: Dictionary)') не имеет индексов

func fetchCurrentChartsWithAlamofire(apiMethod: String) {

        let url = "https://"

        request(url).validate().responseJSON { responseData in

            switch responseData.result {
            case .success(let value):

                guard let jsonData = value as? [String:[String:AnyObject]] else { return }

                for artists in jsonData {
                    let artist = Artist(name: artists["artists"])
                }


            case .failure(let error):
                print(error)
            }
        }
    }

Вот json в браузере:

{
"artists": {

"artist": [

{
"name": "The Weeknd",

}
]
}
}

1 Ответ

3 голосов
/ 27 апреля 2020

Вот как вы можете разобрать это

struct Artist:Decodable {
  let artists:Artists
}
struct Artists:Decodable {
  let artist: [ArtistName]
}

struct ArtistName:Decodable {
  let name: String
}

Для json

enter image description here

...