我使用的可可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