【发布时间】:2011-11-06 19:02:31
【问题描述】:
我正在导入 JSON 字典。我需要知道要使用它的键的名称。
字典加载数据正常:
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
[connection release];
NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
[responseData release];
NSDictionary *results = [responseString JSONValue];
NSLog(@"tenga: %@",results);
但是当我尝试获取键名时,应用程序崩溃了:
NSArray * keys = [results allKeys];
NSLog(@"keys: %@",keys); ...}
错误信息:
[__NSArrayM allKeys]:无法识别的选择器发送到实例 0x5a16b30 2011-08-30 22:52:26.171 Twitter Search[1906:207] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[__NSArrayM allKeys]:无法识别的选择器发送到实例 0x5a16b30 '
为什么allKeys 不起作用?
如何获取密钥的名称以便开始使用对象?
编辑
我正在使用http://code.google.com/p/json-framework Stig Brautaset json framework
【问题讨论】:
-
你遇到了什么样的崩溃?
-
嗨 Tnx,我在问题中添加了错误欢呼
-
另外你使用的是什么 JSON 框架?
-
您的服务器返回数组,而不是字典。检查响应字符串的值,例如使用 NSLog 打印。
-
谢谢,如果我记录字符串“responseString”,我会得到一个大字符串,如果我记录字典,我会得到一个字典样式日志,那么如何确保数组进入字典?
标签: ios json dictionary key