J'ai un problème avec l'analyse JSON. Quand je frappe URL, je l'ai reçu une réponse JSON comme ceci:Comment détecter l'objet JSON/JSON Array sur XCode à l'aide de JSON-Framework
//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"
}
Mais si le résultat des données est à seulement 1, la réponse JSON est comme ceci:
//JSON 2
{ "data":
{"array":
["3",
{"array":
{"id":"3","message":"Hi","sender":"marza"}
}
]
},
"message":"MSG0001:Success",
"status":"OK"
}
je mets en œuvre ce code obtenir l'ID, le message et la valeur de l'expéditeur, et fonctionne correctement sur JSON 1, mais erreur sur JSON 2. J'utilise JSON-Framework. Et la question est de savoir comment détecter que la réponse JSON est un objet ({}) ou un tableau ([]) ??
// 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"]);
}
Merci Michael Kessler, il travaille maintenant. – inot
@inot, vous êtes plus que bienvenus pour marquer la réponse comme acceptée si elle a résolu votre problème. –