我正在使用Cocoa JSON框架(http://code.google.com/p/json-framework/)与API进行通信。
问题是,如果有错误,API会返回一个字典,但如果有效则会返回结果数组。
有没有一种好方法可以检测JSONValue是数组还是字典?
感谢。
答案 0 :(得分:6)
您可以使用isKindOfClass:
来测试对象是NSDictionary的实例还是其任何子类的实例。
在大多数情况下,通过respondsToSelector:
检查可以提供更好的服务,但这是一个您最好测试其会员资格的情况。
当然,您可以测试它是否是数组,而不是它是否是字典;只要你使用的API只返回数组或字典,效果就是一样。
为了获得真正的健壮性,请测试 数组和字典成员资格,如果对象不是,则抛出异常或出现错误。
答案 1 :(得分:0)
也许尝试检查长度属性。
if (jsonObj.length) {
//doSomeWork
}
答案 2 :(得分:0)
试试这个:
if ([YourData isKindOfClass:[NSArray class]])
{
NSLog(@"Array format found");
}
else
{
NSLog(@"Dictionary format found");
}