我使用的可可JSON框架(http://code.google.com/p/json-framework/)是否与API进行通信。可可JSON - 检查阵列或字典
的问题是,API返回的字典,如果有一个错误,但返回结果的数组,如果它的工作原理。
是否有检测,如果JSONValue是一个数组或字典的好办法?
谢谢。
我使用的可可JSON框架(http://code.google.com/p/json-framework/)是否与API进行通信。可可JSON - 检查阵列或字典
的问题是,API返回的字典,如果有一个错误,但返回结果的数组,如果它的工作原理。
是否有检测,如果JSONValue是一个数组或字典的好办法?
谢谢。
也许尝试检查length属性。
if (jsonObj.length) {
//doSomeWork
}
可以使用isKindOfClass:
测试对象是否是NSDictionary中的或它们的任何亚类的一个实例。
在大多数情况下,你将得到更好的通过respondsToSelector:
检查服务,但是这是一个情况下,你真的是最好的测试类的成员。
当然,你也可以测试它是否是一个数组,而不是它是否一个字典;只要你使用的API只返回一个数组或字典,效果是一样的。
为了确保健壮性,测试都数组和字典成员资格,并抛出一个异常或错误,如果该对象既不是。
试试这个:
if ([YourData isKindOfClass:[NSArray class]])
{
NSLog(@"Array format found");
}
else
{
NSLog(@"Dictionary format found");
}
+1这是我要做的事。 :) – 2010-05-27 19:30:11
即使我也是这样 – mrugen 2011-08-08 18:21:43