Cocoa JSON-检查是数组还是字典

Cocoa JSON-检查是数组还是字典,cocoa,json,Cocoa,Json,我使用cocoajson框架()与API通信 问题是,API在出现错误时返回一个字典,但在正常工作时返回一个结果数组 有没有一种好方法可以检测JSONValue是数组还是字典 谢谢。也许可以尝试检查长度属性 if (jsonObj.length) { //doSomeWork } 您可以使用isKindOfClass:测试对象是NSDictionary的实例还是其任何子类的实例 在大多数情况下,最好使用响应选择器:检查,但在这种情况下,最好测试它的类成员资格 当然,您可以测试它是否是数组

我使用cocoajson框架()与API通信

问题是,API在出现错误时返回一个字典,但在正常工作时返回一个结果数组

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


谢谢。

也许可以尝试检查长度属性

if (jsonObj.length) {
   //doSomeWork
}

您可以使用
isKindOfClass:
测试对象是NSDictionary的实例还是其任何子类的实例

在大多数情况下,最好使用
响应选择器:
检查,但在这种情况下,最好测试它的类成员资格

当然,您可以测试它是否是数组,而不是字典;只要您使用的API只返回数组或字典,效果是一样的


要获得真正的健壮性,请测试数组和字典成员资格,如果对象都不是,则引发异常或显示错误。

尝试以下操作:

if ([YourData isKindOfClass:[NSArray class]])
{
    NSLog(@"Array format found");
}
else
{
    NSLog(@"Dictionary format found");
}