2012-08-30 5 views
14

Questo è il mio codice per la gestione della risposta del server.Come deserializzare l'oggetto json e assegnarlo a un NSDictionary in iOS

- (void)connectionDidFinishLoading:(NSURLConnection *)connection 
{ 
NSLog(@"connectionDidFinishLoading : %@", [[NSString alloc] initWithData:self.data encoding:NSUTF8StringEncoding]); 
} 

Questo è il messaggio di risposta del server a me, display NSLog JSON in consolle.

connectionDidFinishLoading : {"ErrorCode":"CssParameterException","ErrorMessage":"An error has occurred, please try again later.","Success":false} 

La mia domanda è: come faccio a deserializzare il JSON e memorizzarlo in una variabile locale NSDictionary *jsonData?

Qualche suggerimento? Per favore, dammi un esempio di codice, grazie!

risposta

18
NSError *e = nil 
NSDictionary *JSON = [NSJSONSerialization JSONObjectWithData: responseData options: NSJSONReadingMutableContainers error: &e]; 

Se avete la risposta NSString

NSError *e = nil 
    NSDictionary *JSON = [NSJSONSerialization JSONObjectWithData: [responseString dataUsingEncoding:NSUTF8StringEncoding] options: NSJSONReadingMutableContainers error: &e];