【发布时间】:2013-11-19 11:38:13
【问题描述】:
我正在尝试访问从网站获取并存储在数组中的 JSON 数据。但是,首先,我想过滤除“标题”信息之外的所有内容,我正在使用valueForKey: 方法进行此操作。为了测试这一点,我使用NSLog 方法将它们写入日志,但是当我运行它时,我得到“null”。
谁能告诉我,为什么我会得到我正在得到的东西?
感谢您的帮助,非常感谢。
{
NSURL *redditURL = [NSURL URLWithString:@"http://pastebin.com/raw.php?i=FHJVZ4b7"];
NSError *error = nil;
NSString *jsonString = [NSString stringWithContentsOfURL:redditURL encoding:NSASCIIStringEncoding error:&error];
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSMutableArray *json = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error];
NSMutableArray *titles = [json valueForKey:@"title"];
NSLog(@"%@", json);
}
【问题讨论】:
-
将
jsonString和json数组打印到控制台(通过NSLog)。这应该让您知道出了什么问题。大概是来自 URL 的响应不是数组而是字典。 -
为什么你把数据放到
array它应该放到dictionary? -
NSMutableArray *children = [[json valueForKey:@"data"] valueForKey:@"children"]; NSMutableArray *titles = [children valueForKeyPath:@"data.title"];
标签: ios json macos nsmutablearray nsjsonserialization