从NSDictionary中检索密钥
查询TMDb时,我很难管理任何超出JSON响应的东西。尽管周末大部分时间都在搜索这些论坛和其他论坛,但我并不接近解决方案。从NSDictionary中检索密钥
在我的头文件我有:
@property (nonatomic,strong) NSDictionary * fetchedData;
字典是正确的填充,由于JSON响应的第一部分看起来是这样的,当我使用:
NSLog(@"fetchedData: %@", fetchedData);
fetchedData: {
page = 1;
results = (
{
adult = 0;
id = 1245;
"known_for" = (
{
adult = 0;
"backdroppath" = "/hbn46fQaRmlpBuUrEiFqv0GDL6Y.jpg";
"genreids" = (878, 28, 12);
id = 24428;
"mediatype" = movie;
"original_language" = en;
"original_title" = "The Avengers";
我一直尝试多种方式来检索响应中的所有“original_title”(或任何键)实例,但当每次尝试返回NULL时,我都没有留下任何提示,因此欢迎任何建议!
从响应
获取数据,我认为fetchedData是dictionary.So
NSString *strOriginalTitle = [NSString stringWithFormat:@"%@",[[[[[fetchedData valueForKey:@"results"]objectAtIndex:0]valueForKey:@"known_for"]objectAtIndex:0]valueForKey:@"original_title"];
//OR By getting data step by step
NSArray *arrayResults = [fetchedData valueForKey:@"results"];
NSDictionary *dict = [[arrayResults objectAtIndex:0] copy];
NSArray *arrayKnownFor = [dict [email protected]"known_for"] copy];
NSString *strOriginalTitle = [arrayKnownFor objectAtIndex:0]valueForKey:@"original_title"];
NSLog(@"The original_title is - %@",strOriginalTitle);
谢谢,这工作正如我所希望的那样。我遇到的问题是两个答案都出现了正确的结果 - 我可以将两个答案都标记为答案吗? – Lee
我的答案是在一步一步的过程以及一行过程中向您展示。请在我的答案中打勾并投票给我的答案。谢谢。 – user3182143
请打勾并投票我的答案,因为我非常整齐,可以理解地解释你。 – user3182143
显示你的尝试之一的代码。你如何处理数组? – Wain
您没有得到有效的JSON格式。首先验证你的JSON字符串。 –
'NSLog(@“%@”,[yourDict allKeys]);'返回所有关键数组。 –