151 votes

Comment puis-je convertir une Chaîne JSON d'un dictionnaire dans IOS5

j'ai cette NSString ( IOS5 ) qui contient l'Objet JSon:

 "{\"password\" : \"1234\",  \"user\" : \"andreas\"}"

et je voudrais le convertir en NSDictionary donc je peux facilement accéder à des valeurs.

J'ai déjà essayé plusieurs approches, mais il semble que je suis coincé .

C'était mon approche:

NSDictionary *JSON = [NSJSONSerialization JSONObjectWithData: @"{\"2\":\"3\"}" options: NSJSONReadingMutableContainers error: &e];  

je reçois: -[__NSCFConstantString octets]: unrecognized sélecteur envoyé à l'instance 0x1372c

* Résiliation d'application en raison de uncaught exception 'NSInvalidArgumentException',

raison: '-[__NSCFConstantString octets]: unrecognized sélecteur envoyé à l'instance 0x1372c'

328voto

Abizern Points 52378

À partir de ce que vous essayez de le faire, vous êtes l'envoi d'une chaîne de caractères au lieu d'un NSData objet.

Ce que vous voulez faire est:

NSDictionary *JSON = 
    [NSJSONSerialization JSONObjectWithData: [@"{\"2\":\"3\"}" dataUsingEncoding:NSUTF8StringEncoding] 
                                    options: NSJSONReadingMutableContainers 
                                      error: &e];

Qui passe une NSData paramètre plutôt qu'une chaîne de caractères.

36voto

Desert Rose Points 757
NSData *data = [strChangetoJSON dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *jsonResponse = [NSJSONSerialization JSONObjectWithData:data
                                                             options:kNilOptions
                                                               error:&error];

Par exemple, vous avez un NSString avec des caractères spéciaux, en NSStringstrChangetoJSON. Ensuite, vous pouvez convertir la chaîne JSON réponse à l'aide de code ci-dessus.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X