for (NSArray *values in [serializedJSON allValues])
有時,serializedJSON中的值將是數組,有時它們將是NSDictionaries。我想歧視其中的一個,所以我沒有像現在這樣得到任何錯誤。所以我只希望在這種情況下返回的值是NSArrays,而在第二種情況下,我只希望它們是NSDictionaries。在遍歷NSDictionary的同時處理不同的對象類型
感謝先進!
如果您需要更多的信息讓我知道
for (NSArray *values in [serializedJSON allValues])
有時,serializedJSON中的值將是數組,有時它們將是NSDictionaries。我想歧視其中的一個,所以我沒有像現在這樣得到任何錯誤。所以我只希望在這種情況下返回的值是NSArrays,而在第二種情況下,我只希望它們是NSDictionaries。在遍歷NSDictionary的同時處理不同的對象類型
感謝先進!
如果您需要更多的信息讓我知道
的標準,來處理JSON通用的方法大致如下:
NSObject* jsonResult = [serializedJSON allValues];
if ([jsonResult isKindOfClass:[NSArray class]]) {
<handle NSArray>
}
else if ([jsonResult isKindOfClass:[NSDictionary class]]) {
<handle NSDictionary>
}
else if ([jsonResult isKindOfClass:[NSNumber class]]) {
<handle NSNumber>
}
else if ([jsonResult isKindOfClass:[NSString class]]) {
<handle NSString>
}
else if (jsonResult == [NSNull null]) {
<handle null>
}
謝謝!你的救星!我知道必須有某種類型的方法來檢查課程,但是當我搜索時我找不到任何方法。再次感謝你! –
@MichaelKing - 請記住,JSON是遞歸的 - 每個字典和數組包含可能以相同方式進一步解析的元素。 –
[isKindOfClass](http://developer.apple.com/library /ios/documentation/Cocoa/Reference/Foundation/Protocols/NSObject_Protocol/Reference/NSObject.html#//apple_ref/occ/intfm/NSObject/isKindOfClass :) –
你無法控制JSON映射的內容,你只能做通過測試返回的內容來控制你對它的反應。 –