2013-07-24 25 views
5

Ich habe ein Problem beim Konvertieren eines NSString in NSArray.Wie konvertiert man einen JSON String in ein NSArray?

Meine Zeichenfolge ist:

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

Was ich tun möchte, ist die Elemente erhalten (Standard, Discipleship etc.) aus dieser Zeichenfolge und steckt sie in eine NSArray.

ich viel versucht, aber konnte es nicht getan, bitte helfen Sie Jede Hilfe wäre toll, danke im voraus

+0

So wissen Sie hinzufügen, dass es JSON ist aber du hast nicht NSJSONSerialization in der Dokumentation? –

Antwort

19

Zuerst konvertieren Sie Ihre Zeichenfolge NSData:

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

Dann verwenden Sie:

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

Das Objekt Array enthält die Elemente des JSON Text.

+1

Dies ist wahrscheinlich Antwort zu korrigieren. (Aber Sie müssen den Anführungszeichen in der ersten Zeile entkommen, sonst wird es nicht kompilieren.) –

+0

Vielen Dank ... Hurray ... :) – Aashish1aug

+1

@MartinR Sie haben Recht. Ich habe die Zeichenfolge der Frage kopiert und eingefügt. Ich werde es bearbeiten, um es richtig zu machen. –

0

versuchen Sie es wie folgt, zuerst trimmen unerwünschte Buchstaben und danach Konvertieren String in Array.

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

Vielen Dank sathvik für die Antwort, aber auch hier habe ich etwas unpassend als Array: array Ich habe ist: Array ist: :( "[Default", Discipleship, Glaube, Familie, Hope, „Life Building “ Liebe, Missionen, "Beziehungen]" ) – Aashish1aug

0

Probieren Sie dies aus und für die Notwendigkeit jsonkit und Import josnkit.h in Ihrer Klasse

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