iphone ios objective-c nsdictionary

iphone - Obtener valores de clave particular en nsdictionary



ios objective-c (3)

Compruebe así:

NSString *value=[[[getcate valueForKey:@"abcd"] objectAtIndex:0] valueForKey:@"category"];

json resultado del análisis json en un dictionary que tiene el siguiente aspecto:

{ "statusCode":"200", "body":[ { "status":"success", "remarks":null } ], "data":[ "abcd":[ { "category":"a", "title":"b", "id":"24" }, { "category":"c", "title":"crd", "id":"65" }, { "category":"ds", "title":"sd", "id":"18" } ] }, { "efgh":[ { "category":"ds", "title":"sd", "id":"18" }, { "category":"sd", "title":"sd", "id":"1" } ] }, { "ijkl":[ { "category":"ds", "title":"sd", "id":"18" }, { "category":"sd", "title":"sd", "id":"1" } ] } ] }

Los datos para la clave @ "datos" se pueden guardar en una matriz usando

NSMutableArray *getdata=[[NSMutableArray alloc]init]; getcat=[results objectForKey:@"data"];

Ahora, ¿qué debo hacer para los values(category, title, id) dentro del primer índice, es decir, "abcd" .

Si alguien tiene algún conocimiento por favor mira eso.

Gracias a todos.


Esa es una matriz, así que use objectAtIndex: (es decir, [getcat objectAtIndex:0] o getcat[0] )


Lo siguiente te dará el objeto deseado.

NSDictionary *dict=[results valueForKeyPath:@"data.abcd"][0];

Por persona:

NSString *categoryString=[[results valueForKeyPath:@"data.abcd"][0] objectForKey:@"Category"]; NSString *idString=[[results valueForKeyPath:@"data.abcd"][0] objectForKey:@"id"]; NSString *titleString=[[results valueForKeyPath:@"data.abcd"][0] objectForKey:@"title"];

También,

NSString *categoryString=dict[@"Category"]; NSString *idString=dict[@"id"]; NSString *titleString=dict[@"title"];