Я новичок в Swift и в настоящее время делаю приложение, которое выполняет веб-запросы. Я пытался разобрать эти JSON данные, но вложенные данные просто очень трудно обернуть мою голову:
"abilities": [
{
"ability": {
"name": "chlorophyll",
"url": "https://pokeapi.co/api/v2/ability/34/"
},
"is_hidden": true,
"slot": 3
},
{
"ability": {
"name": "overgrow",
"url": "https://pokeapi.co/api/v2/ability/65/"
},
"is_hidden": false,
"slot": 1
}
]
JSon Код сериализации
let jsonAny = try JSONSerialization.jsonObject(with: data, options: [])
guard let json = jsonAny as? [String: Any] else { return }
Это это моя попытка вручную проанализировать JSON данные
private func parsePokemonManual(json: [String: Any]) -> Pokemon {
let abilities = json["abilities"] as? [String: Any] ?? [String: Any]()
return Pokemon(abilities: abilities)
}
}
Это структуры, которые я сделал для хранения данных.
struct Abilities {
let ability : Ability
struct Ability {
let name : String
}
}
Как мне успешно проанализировать JSON Данные в объект структуры Pokemon?
При таком толстом коде я получаю ошибку «Невозможно преобразовать значение типа '[String: Any]' в ожидаемый тип аргумента '[Abilities]'. Моя проблема заключается в том, что я не знаю, к какому типу использовать способности, и что моя структура «Способности» также неверна.