2016-11-04 2 views
-4

Ich beginne mit einem NSArray und ich möchte den Inhalt im Array mit einem JSON-Format konvertieren. HierWie formatiere ich JSON in NSArray?

ist der Inhalt des NSArray:

(
     { 
     "men_clothing" =   { 
      Tops = Activewear; 
     }; 
    } 
) 

Hier ist der Code, den ich versuchte:

NSData *jsonData = [NSJSONSerialization dataWithJSONObject:userObject[@"userInterests"] options:0 error:nil]; 


    NSDictionary* json = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:nil]; 


    NSLog(@"jSON%@",json); 

Ich mag würde im JSON-Format innerhalb des NSArray enden.

So etwas ist, was ich zu erwarten:

{ 
"men_clothing":   { 
    "Tops":"Activewear"} 
} 
+0

Es ist bereits im JSON-Format. Möchten Sie es in einem Array speichern? –

+0

in meiner Datenbank ist es im JSON-Format, aber wenn ich es abrufen, kommt so zurück. –

+0

Frage von sehr geringer Qualität. @Farhan bitte, poste etwas Code, welches Objekt du gerade anmeldest. Ich denke, Sie müssen googlen 'NSJSONSerialization' –

Antwort

0

einfach die NSArray zu JSON konvertieren und dass JSON log:

NSArray * test = @[ 
    @"Test1", @"Test2", @"Test3" 
]; 
NSData * testJSONData = [NSJSONSerialization 
    dataWithJSONObject:test options:0 error:NULL 
]; 
NSString * testJSONString = [[NSString alloc] 
    initWithData:testJSONData encoding:NSUTF8StringEncoding 
]; 
NSLog(@"Array is:\n%@", testJSONString); 

Ausgang:

Array is: 
["Test1","Test2","Test3"] 

Und wenn Sie verwenden nicht ARC, vergessen Sie nicht aufzuräumen:

[testJSONString release]; 
+0

Ich bekomme es zurück als '[{" men_clothing ": {" Tops ":" Activewear "}}]' Mit dem '[]' –

+0

muss ich es auch als NSArray zurückgeben, könnte ich das tun? –

+1

Sie sagen, dass Sie in JSON konvertieren müssen, dann sagen Sie, dass Sie es als NSArray benötigen. Das macht keinen Sinn.Wenn es JSON ist, ist es kein NSArray und wenn es ein NSArray ist, ist es nicht JSON. JSON ist eine Möglichkeit, Objekte in einen Byte-Stream zu konvertieren, den Sie über eine serielle Verbindung oder über das Internet senden können. –