Получать значения конкретного ключа в nsdictionary
Я сохранил результат синтаксического анализа json
в dictionary
, который выглядит так:
{
"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"
}
]
}
]
}
Данные для ключевых @ "данных" могут быть сохранены в массиве с помощью
NSMutableArray *getdata=[[NSMutableArray alloc]init];
getcat=[results objectForKey:@"data"];
Теперь что мне делать для values(category, title, id)
внутри первого индекса i.e. "abcd"
.
Если у кого есть какие-либо знания, пожалуйста, посмотрите на это.
Спасибо всем.
Ответы
Ответ 1
После этого вы получите желаемый объект
NSDictionary *dict=[results valueForKeyPath:@"data.abcd"][0];
Для индивидуума:
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"];
Кроме того,
NSString *categoryString=dict[@"Category"];
NSString *idString=dict[@"id"];
NSString *titleString=dict[@"title"];
Ответ 2
Проверьте следующее:
NSString *value=[[[getcate valueForKey:@"abcd"] objectAtIndex:0] valueForKey:@"category"];
Ответ 3
Это массив, поэтому используйте objectAtIndex:
(т.е. [getcat objectAtIndex:0]
или getcat[0]
)