首先看看我的json文件,如下所示:
[
{
id: 1
arr: {
name: "功夫"
sex: "m"
age: 40
}
GP: [
{
Peter: 32
}
]
}
]
我用JSONKit分析这个文件。并且喜欢这段代码
JSONDecoder *jsonDec = [[[JSONDecoder alloc] initWithParseOptions:JKParseOptionNone] autorelease];
dic = [jsonDec objectWithData:data];
if (dic == nil) {
NSLog(@"dic is nil !!!!!!!!!");
return;
}
NSLog(@"%d..",[dic count]);
NSLog(@"%@",dic);
if (dic != nil) {
for (id ary in dic) {
NSLog(@"kkkkkk %@",[ary objectForKey:@"arr"]);
}
for (id key in dic)
{
NSLog(@"key: %@ ,value: %@",key,[dic objectForKey:key]);
//this line error.
}
}
当运行时,它崩溃。
2011-07-28 19:24:27.499 MyJSONTest[27274:207] -[JKArray objectForKey:]: unrecognized selector sent to instance 0x692ee40
2011-07-28 19:24:27.500 MyJSONTest[27274:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[JKArray objectForKey:]: unrecognized selector sent to instance 0x692ee40'
我需要一些帮助,谢谢大家。
答案 0 :(得分:1)
看起来您正在运行的代码并不知道 JKArray 具有 objectForKey:功能。
但你确定JKArray有 objectForKey:吗?你不是在考虑 JKDictionary 吗?
NSDirectory使用键运行,NSArrays具有 objectatindex:
检查文件的头部。你收到了正确的文件吗?如果你想使用NSObject功能,添加@class标题不。