Je me suis cogné la tête contre un mur pour un peu.iOS Parsing JSON Woes
J'ai un back-end de rails qui retourne JSON à mon application iOS. J'utilise le retour par défaut des rails pour rendre automatiquement mon objet en JSON. J'ai des problèmes avec les erreurs qu'il renvoie.
Le JSON obtenu pour les erreurs est {"errors":{"email":["can't be blank"],"password":["can't be blank"]}}
. J'utilise ASI pour gérer la demande.
-(void) requestFinished:(ASIFormDataRequest *)request {
NSDictionary *data = [[request responseString] JSONValue];
Faire le code ci-dessus font les données deviennent:
{
errors =
{
email = (
"can't be blank"
);
password = (
"can't be blank"
);
};
}
Maintenant, cela me donne pour analyser les questions en essayant dehors. J'aimerais pouvoir accéder à chaque élément d'erreur et à sa valeur associée.
Lorsque je tente de boucle à travers les éléments, je fais quelque chose comme:
for (NSDictionary *error in [data objectForKey:@"errors"])
Cela me donnera email
et password
, mais ils sont de type __NSCFString
, pas NSDictionary
. Je n'ai pas été en mesure de trouver un moyen d'obtenir la valeur de l'email ou du mot de passe. Est-ce que quelqu'un a une idée sur la façon d'analyser cela?
Merci!
Merci d'avoir essayé sans votre Mac à portée de main. Malheureusement, cela ne fonctionnera pas en utilisant un NSArray. La réponse acceptée fonctionne bien, mais elle semble être valueForKeyPath. – LyricalPanda
D'accord, félicitations! Je suis heureux que votre problème a été résolu. – TheTiger