在我的iOS 5.1应用程序中,我正在尝试将JSON文本文件加载到NSDictionary中。
NSString *filepath = [[NSBundle mainBundle] pathForResource:@"stuff" ofType:@"json"];
NSDictionary *stuff = [NSDictionary dictionaryWithContentsOfFile:filepath];
文件路径有效,文件存在但东西是nil
,这意味着解码文件时出现问题(根据documentation)。
(如何)我可以获得有关[NSDictionary dictionaryWithContentsOfFile:]
- 或任何类型的API调用 - 返回nil
的原因的更多调试信息吗?
答案 0 :(得分:4)
以NSData
阅读内容,然后使用+[NSPropertyListSerialization propertyListWithData:options:format:error:]
。
答案 1 :(得分:1)
正如您所说:您的文件包含JSON字符串。首先,你必须加载字符串然后你必须使用一些JSON库解析它。
E.g:
NSError *error;
NSString *content = [NSString stringWithContentsOfFile:filepath encoding:NSUTF8StringEncoding error:&error]; //error checking omitted
SBJsonParser *parser = [[SBJsonParser alloc] init];
NSDictionary *json = [parser objectWithString: content];