/ / L'analyse de fichier JSON donne le nom de l'objet plutôt que son contenu [fermé] - ios, objective-c, json, analyse

L’analyse de fichier JSON donne le nom de l’objet plutôt que son contenu [fermé] - ios, objective-c, json, analyse

J'ai un fichier JSON que j'ai créé ici: http://www.jsoneditoronline.org/?id=d0b62425c78f98db2398ed558f92e5cf

J'ai simplement ajouté ce fichier à mon projet eten essayant de l'analyser. Pour une raison quelconque, la ligne NSLog me donne "instruction" en tant que résultat plutôt que l'objet instruction. Je m'attendais à ce qu'il me donne le dictionnaire entier d'objet statement. Il me manque clairement quelque chose ici. J'apprécierais toute aide.

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"math" ofType:@"json"];
NSData *JSONData = [NSData dataWithContentsOfFile:filePath options:NSDataReadingMappedIfSafe error:nil];
NSDictionary *jsonObject = [NSJSONSerialization JSONObjectWithData:JSONData options:NSJSONReadingMutableContainers error:nil];

NSLog(@"jsonObject is %@", jsonObject); //this gives me the whole JSON object correctly.

for (NSDictionary *dict in jsonObject[@"statements"]) {
NSLog(@"dict is %@", dict);

}

Réponses:

1 pour la réponse № 1

C'est vicieux JSON. Normalement, on pourrait s’attendre à ce que la valeur des "instructions" soit un tableau d’objets et non pas un seul objet. Lorsque vous parcourez un dictionnaire ("objet" JSON), vous parcourez les clés pour obtenir le résultat attendu.