Alamofire.request ("https://httpbin.org/get") .responseJSON {ответ в
debugPrint (ответ)
if let json = response.result.value {
let ip = json["url"] as! String
}
}
Ошибка: 👎 Тип "Любой" не имеет элементов нижнего индекса.
if response.result.value is NSNull {
return
}
let JSON = response.result.value as? NSDictionary
let id = JSON?["id"] as! String
Я думаю, тебе нужен? перед ["url"]
Так я всегда обрабатываю свои ответы в формате JSON.
.responseJSON {
response in
switch response.result {
case .failure(let error):
// Do whatever here
return
case .success(let data):
// First make sure you got back a dictionary if that's what you expect
guard let json = data as? [String : AnyObject] else {
NSAlert.okWithMessage("Failed to get expected response from webserver.")
return
}
// Then make sure you get the actual key/value types you expect
guard var points = json["points"] as? Double,
let additions = json["additions"] as? [[String : AnyObject]],
let used = json["used"] as? [[String : AnyObject]] else {
NSAlert.okWithMessage("Failed to get data from webserver")
return
}
Спасибо @grosch! 🍻
Самый полезный комментарий
Так я всегда обрабатываю свои ответы в формате JSON.