J'ai importé Alamofire et SwiftyJSON (dernières versions) et je veux juste essayer les appels d'API.En utilisant Alamofire et SwiftyJSON et il me renvoie null quand j'utilise json ["email"]?
ici est ce que je fais dans viewDidLoad:
url: String = "https://api.solvap.com" //this is not the real url of the api
Alamofire.request(url, method: .get)
.validate()
.responseJSON { response in
switch response.result {
case .success(let value):
let json = JSON(value)
//this print statement prints the whole JSON list
print(json)
//this print statement just return null for some weird reason
print(json["name"])
case .failure(let error):
print(error)
}
}
Sortie de la console dans Xcode:
[
{
"name" : "John",
"surname" : "Doe",
"password" : "54321",
"job" : "Developer",
"token" : "iw4lcsk7h8do3y6fuw5vvzefn"
}
]
null
Toute pensée comment résoudre ce problème et pourquoi cela se produit?
L'objet JSON analysable est un tableau de dictionnaires. Essayez d'imprimer 'print (json.first? [" Nom "])' – vfn
@vfn J'ai reçu une erreur de 'print (json.first? [" Nom "])' Tapez 'JSON._Element' (alias '(Chaîne , JSON) ') n'a pas de membres de – Pavlos
Voici en indice de la solution: 'Alamofire.request (url, méthode: .get) .validate() { .responseJSON réponse à commutateur response.result { cas .success : // supprimé la valeur de l'affaire .success (let value): let json = JSON (données: response.données!) si let name = json [0] ["nom"]. String { // Maintenant vous avez votre valeur impression (nom) } case .failure (laisser erreur): imprimer (erreur) } } ' – Pavlos