2017-01-24 4 views
-1
[ 
    { 
    "c_name" : "r", 
    "email_id" : "r", 
    "phn_no" : "2", 
    "c_id" : "1" 
    }, 
    { 
    "c_name" : "e", 
    "email_id" : "e", 
    "phn_no" : "4", 
    "c_id" : "2" 
    } 
] 

Dies ist die Ausgabe, die ich als JSON-String erhalten. Wie kann ich auf diese Daten zugreifen? Ich benutzte NSJSONSerialization Klasse:wie Daten aus JSON String abgerufen werden

NSError *writeError = nil; 

NSData *jsonData = [NSJSONSerialization dataWithJSONObject:arr_mcontacts options:NSJSONWritingPrettyPrinted error:&writeError]; 

NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; 

NSLog(@"JSON Output: %@",jsonString); 
+1

Sie haben bereits die Daten im JSON. Es ist, was in Ihren 'arr_mcontacts' ist, bevor Sie es als json serialisierten. – dan

+0

Es gibt buchstäblich Hunderte von Fragen darüber, wie JSON-Daten mit NSJSONSerialization zu analysieren sind. Aus all diesen Fragen, welchen spezifischen Teil können Sie insbesondere nicht verstehen? Was hast du bisher versucht? – Gruntcakes

Antwort

1

Ich denke, Sie eine Reihe von Wörterbüchern haben. So etwas sollte funktionieren:

NSError *writeError; 
NSError *error; 
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; 
NSMutableArray *arrayOfDictionary = [[NSMutableArray alloc] init]; 
arrayOfDictionary = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:nil]; 

NSDictionary *dictionary = [myArray objectAtIndex:0]; 
NSString *valueString= [dictionary objectForKey: @"c_name"]; 
0

Für den Zugriff auf Daten verwenden Sie ein Wörterbuch statt String. Der folgende Code zeigt

NSDictionary *responseDict=[NSJSONSerialization JSONObjectWithData: jsonData options:NSJSONReadingMutableContainers error:&error]; for(NSArray *a in responseDict) {[cnamearray addobject [a valueforKey:@"c_name"]]; }NSLog(@"The cnamearray contains:", cnamearray);

Der Ausgang wird der cnamearray enthält: {r, e}

Verwandte Themen