Cocoa JSON - 检查数组或字典

时间:2009-10-13 14:19:00

标签: cocoa json

我正在使用Cocoa JSON框架(http://code.google.com/p/json-framework/)与API进行通信。

问题是,如果有错误,API会返回一个字典,但如果有效则会返回结果数组。

有没有一种好方法可以检测JSONValue是数组还是字典?

感谢。

3 个答案:

答案 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");
}