我有一个字典JSON字典,如
{
county = "XXXXX";
states = (
"YYYYY",
"ZZZZZ"
);
}
在阅读JSON字典后,数据在数组中。然后我想用数据创建一个不同的数组,我正在使用以下代码
for (NSString *key in array) {
NSMutableArray *myData =[[NSMutableArray aalloc] init];
myData = [array objectForKey:key];
int count = [myData count];
}
当键是'状态'时,它可以正常工作。如果key是'country',那么它会在count上抛出异常,因为objectForKey返回一个NSString。怎么解决这个?如何找到objectForKey将返回多少个对象?
答案 0 :(得分:2)
Check out this answer from @HDdeveloper:
if([object isKindOfClass:[NSString class]] == YES)
{
NSLog(@"String rx from server");
}
else if ([object isKindOfClass:[NSDictionary class]] == YES)
{
NSLog(@"Dictionary rx from server");
}
else if ([object isKindOfClass:[NSArray class]] == YES)
{
NSLog(@"Array rx from server");
}
基本上,在你得到objectForKey
后,你需要检查是什么类型的对象并相应地使用它。
答案 1 :(得分:0)
您的JSON包含字典。
该dict中的键“states”包含一个数组,另一个键包含一个字符串。两个密钥都不包含NSData对象。
数组有一个count方法,但是字符串没有。这就是你崩溃的原因。