2013-07-24 18 views
5

Ho riscontrato un problema durante la conversione di una NSString in NSArray.Come convertire una stringa JSON in un NSArray?

mia stringa è:

["Default", "Discipleship", "Faith", "Family", "Hope", 
"Life Building", "Love", "Missions", "Relationships"] 

Quello che voglio fare è ottenere gli elementi (di default, Discepolato etc.) fuori di questa stringa e metterli in un NSArray.

Ho provato un sacco, ma non sono riuscito a farlo fare, si prega di aiuto Qualsiasi aiuto sarebbe grande, grazie in anticipo

+0

Così si sa che si tratta di JSON, ma non avete trovato NSJSONSerialization nella documentazione? –

risposta

19

In primo luogo è convertire la stringa a NSData:

NSString* str = @"[\"Default\",\"Discipleship\",\"Faith\",\"Family\",\"Hope\",\"Life Building\",\"Love\",\"Missions\",\"Relationships\"]"; 
NSData* data = [str dataUsingEncoding:NSUTF8StringEncoding]; 

Poi, si utilizza:

NSError *e; 
NSArray *array = [NSJSONSerialization JSONObjectWithData:data options:nil error:&e]; 

L'array oggetto contiene gli elementi del testo JSON.

+1

Questo probabilmente è per correggere la risposta. (Ma devi sfuggire alle virgolette nella prima riga, altrimenti non verrà compilato.) –

+0

Grazie mille ... Evviva ... :) – Aashish1aug

+1

@MartinR Hai ragione. Ho appena copiato e incollato la stringa della domanda. Modificherò per renderlo corretto. –

0

provare in questo modo, innanzitutto eliminare i caratteri indesiderati e quindi convertire la stringa in array.

NSString * strippedNumber = [yourString stringByReplacingOccurrencesOfString:@"[\"]" withString:@"" options:NSRegularExpressionSearch range:NSMakeRange(0, [val length])]; 
NSArray *array = [strippedNumber componentsSeparatedByString:@","]; 
+0

Grazie sathvik molto per la risposta, ma ancora una volta ho avuto qualcosa di inappropriato come un array: array ho ottenuto è: array è: :( "[Default", Discepolato, Fede, Famiglia, Speranza, "Life Building ", Amore, Missioni, " Rapporti "" ) – Aashish1aug

0

provare questo e per questo bisogno di aggiungere jsonkit e l'importazione josnkit.h nella tua classe

NSString *responseString = [request responseString] 
JKParseOptionFlags options = JKParseOptionComments | JKParseOptionUnicodeNewlines; 
NSArray *responsArray=[responseString objectFromJSONStringWithParseOptions:options error:nil]; 
Problemi correlati