2016-07-13 10 views
0

konvertieren möchte ich versuchen NSData zu NSDictionary oder NSArray zu konvertieren, aber einige, wie ich kann das nicht tun, aber wann immer versuchen, in konvertieren NSString wird es umgewandelt und Gating-Daten, so kann jemand wissen, was Fehler ist, helfen Sie mir unten ist der Code für convertIch kann nicht NSData zu NSMutableArray

NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data 
                    options:0 
                      error:nil]; 

Below-Code für convert in NSString

NSString * str = [[NSString alloc] initWithData: Datencodierung: NSUTF8StringEncoding];

Aber Problem ist, dass bei dieser Art von Daten erhalten sie auf Array Antwort umgewandelt werden:

[[ "Superfrau", 0], [ "Zucker", 0], [ "Sultan Anhänger "0], [ "Sommer", 0], [ "Übermenschen", 0], [ "sunday candy", 0], [ "erhaben", 0], [ "Sommer sechzehn", 0], [" Superfrucht“, 0], [ "Sultan Lieder", 0]]

aber Immer wenn gat diese Art der Reaktion nicht auf Array umgewandelt wird, weil der formated [3 auf Antwort

Antwort:

[[ "ssundee", 0], [ "selena gomez", 0], [ "sia", 0], [ "sorry beyonce", 0], [“ smosh“, 0], [ "Sweatshirt jacob sartorius", 0], [ "skydoesminecraft", 0], [ "geheimes Leben des Haustiers Anhänger", 0, [3]]

+1

wenn Ihre Conversion liefert NIL der einen Fehler Verweis auf NSJSONSerialization passieren und debug.whats im Fehler –

+1

Der letzte nicht ist ein gültiges JSON, es fehlt ein abschließendes "]" am Ende. – Larme

+1

Ich vermute, das wird von Daten in JSON in der falschen Verbindung Delegate-Methode konvertiert ... sonst sind die Server-Devs Idioten. – Droppy

Antwort

0

1) Sie muß die Antwort in id Variable vom Typ nimmt die Klasse der Antwort wie unter & zu überprüfen.

2) Sie müssen auch überprüfen, ob JSON convertion erfolgreich ist

NSError * error; 

id result = [NSJSONSerialization JSONObjectWithData:data 
     options:0 error:&error]; 

if (!error) { 

if([id isKindOfClass:[NSDictionary class]]){ 
    //Response is Dictonary 
    } else if ([id isKindOfClass:[NSArray class]]){ 
    //Response is Array 
    } else { 
    //any other format 
    } 

} else { 

    //Handle error 

} 
+0

Getting auf Ergebnisobjekt jetzt habe ich die einige temporäre Lösung zu rang verwenden und in Array hinzufügen, aber es ist nicht gut Lösung –

+0

überprüfen Sie bearbeitete Antwort .. –

0
try this one 

    NSError* error; 
       NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseObject 
                     options:kNilOptions 
                     error:&error]; 
+0

Birendra, ich bin auch verwenden, aber immer noch Nill auf Json-Objekt –