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"];