2012-02-06 65 views
1

我將不同的JSON對象轉換爲結構化對象,並希望遍歷所有節點以分層處理每個節點。 JSON框架支持轉換爲NSDictionary,我認爲這是非結構化的。我想遞歸地遍歷每個項目,並對結構給予尊重。這將如何與字典或通用NSOBject?以遞歸方式遍歷Objective-C中的對象

例子:

- (void) processParsedObject:(NSDictionary *)obj 
{ 
    if (atTheEndOfTheTail) { 
     NSLog(@"Object description: %@\n\n", obj.description); 

    } 
    for (id object in obj) { 
     [self processParsedObject:object]; 
    } 
} 

更新:

我問的問題更清楚這裏(含答案):

Recursively traverse NSDictionary of unknown structure

回答

2

可以枚舉的所有鍵NSDictionary使用:

NSEnumerator* keyEnum = [myDictionary keyEnumerator]; 
NSObject* nextKey; 
while ((nextKey = [keyEnum nextObject]) != nil) 
{ 
    NSObject* nextValue = [myDictionary objectForKey:nextKey]; 
    //... do something with the object and/or key ... 
} 
+1

或者只是使用快速枚舉('for ... in') – bummzack 2012-02-06 23:05:20

+0

好點。你也可以通過遞歸方式獲得子對象和子子對象等。 – user1118321 2012-02-06 23:14:09

+0

這就是我所想的。你能告訴我一些示例語法嗎?我以我的例子屠殺了它。 – 2012-02-06 23:15:28