2011-12-15 63 views
1

我在我的project.i中使用JSON webservices解析json方法並收集數據並在需要時顯示它。我們如何在JSON方法中區分NSDictonary和NSArray

在JSON方法將有兩種類型,一種是簡單的數組

{} //我們使用的NSDictionary這裏收集數據

另一個是這種格式

{ 「ABC」 的[{}]} //我們使用NSArray來收集數據

我的問題是我們在自己的項目之前編寫代碼,直到連接到webservices,無論我們需要什麼數據來提及和收集數據。

例如我們在我們的代碼中使用NSDictionary思維json方法的格式爲{}。如果後面的json方法根據客戶端添加的服務更改爲{[{}]},那麼當傳入的json方法是NSArray或NSDicationary時,我們如何區分和編寫代碼。

回答

1

簡單

id respData = [Json objectWithUrl:[NSURL URLWithString:urlStr]]; 

if([respData isKindOfClass:[NSDictionary class]]) 
{ 
    NSArray *respArray = (NSArray *)respData; 
    [networkListTableView reloadData]; 
} 
else if([respData isKindOfClass:[NSArray class]]) 
{ 
    othersArray = [Json objectWithUrl:[NSURL URLWithString:urlStr]]; 
    [networkListTableView reloadData];  
}