Iphone 获取nsdictionary中特定键的值
我将Iphone 获取nsdictionary中特定键的值,iphone,ios,objective-c,nsdictionary,Iphone,Ios,Objective C,Nsdictionary,我将json解析结果保存在字典中,如下所示: { "statusCode":"200", "body":[ { "status":"success", "remarks":null } ], "data":[ "abcd":[ { "category":"a", "title":"b", "id":"24" }, { "
json
解析结果保存在字典中,如下所示:
{
"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"
}
]
}
]
}
键@“data”的数据可以通过使用保存到数组中
NSMutableArray *getdata=[[NSMutableArray alloc]init];
getcat=[results objectForKey:@"data"];
现在,我应该如何处理第一个索引中的值(类别、标题、id)
,即“abcd”
如果有人有任何知识,请看看
感谢大家。检查如下:
NSString *value=[[[getcate valueForKey:@"abcd"] objectAtIndex:0] valueForKey:@"category"];
这是一个数组,因此使用objectAtIndex:
(即[getcat objectAtIndex:0]
或getcat[0]
)以下内容将为您提供所需的对象
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"];
而且
是的,我已经做了。。NSMutableArray*firstarray=[getcat objectAtIndex:0];“abcd”:[{“类别”:“a”,“标题”:“b”,“id”:“24”},{“类别”:“c”,“标题”:“crd”,“id”:“65”},{“类别”:“ds”,“标题”:“sd”,“id”:“18”}]但是现在,如何在abcd中获取值,即类别、标题、ID,这是另一个字典。我不明白为什么这会给这么多人带来这么多麻烦。您在这一行中已经做了完全相同的事情->getcat=[results objectForKey:@“data”]代码>所以再做一次。JSON不是火箭科学。您只能得到大约5或6种不同的类型,并且只有两种集合类型。所以集合可以是数组(按数字获取)或字典(按字符串获取)。我无法获取字典中的值,如我的答案所示,即category、id、title.nslog dict,并告诉打印的内容。我通过NSString*cat=[dict valueForKeyPath:@“id”][0]获取了内部键值;它意味着获取特定密钥的所有id,例如,我必须用于循环的“abcd”下的所有id。如何从数据中获取“abcd”密钥名?因为我想将“abcd”显示为我的tableview部分标题。在我的例子中,“abcd”和“efgh”是动态的。
NSString *categoryString=dict[@"Category"];
NSString *idString=dict[@"id"];
NSString *titleString=dict[@"title"];