Wie zu erkennen JSON-Objekt/JSON-Array auf XCode mit JSON-Framework

Ich habe ein problem mit JSON Parsen. Wenn ich die Treffer-URL, ich habe eine JSON-Antwort wie diese:

//JSON 1
{ "data":
  {"array":
    ["3",
       {"array":
          [
            {"id":"1","message":"Hello","sender":"inot"},
            {"id":"2","message":"World","sender":"inot"},
            {"id":"3","message":"Hi","sender":"marza"}
          ]
        }
     ]
   },
 "message":"MSG0001:Success",
 "status":"OK"
}

Aber wenn das Ergebnis der Daten ist nur 1, die JSON-Antwort ist wie folgt:

//JSON 2
{ "data":
  {"array":
    ["3",
       {"array":
          {"id":"3","message":"Hi","sender":"marza"}
       }
     ]
   },
 "message":"MSG0001:Success",
 "status":"OK"
}

Implementiere ich diesen code, um die id, Nachricht und des Absenders Wert, und funktioniert auf JSON-1, aber Fehler auf JSON-2. Ich benutze JSON-Framework. Und die Frage ist, wie erkennen, dass die JSON-response-Objekt ({ }) oder ein array ([ ]) ??

//Parse the string into JSON
NSDictionary *json = [myString JSONValue];

//Get all object
NSArray *items = [json valueForKeyPath:@"data.array"];
NSArray *array1 = [[items objectAtIndex:1] objectForKey:@"array"];
NSEnumerator *enumerator = [array1 objectEnumerator];
NSDictionary* item;
while (item = (NSDictionary*)[enumerator nextObject]) {
   NSLog(@"id      = %@",[item objectForKey:@"id"]);
   NSLog(@"message = %@",[item objectForKey:@"message"]);
   NSLog(@"sender  = %@",[item objectForKey:@"sender"]);
}
InformationsquelleAutor inot | 2010-07-18
Schreibe einen Kommentar