2011-11-03 84 views
1

嘿傢伙:)我很新的堆棧溢出和iPhone編程。我正在嘗試解析複雜的JSON以在UITableView中顯示一些內容。iPhone編程 - 複雜的JSON解析 - UITableView

的JSON結構的一部分 -

{"1":{"1":"Ent1","done":"No"},"2":{"1":"Ent2","done":"No"}} 

我能夠通過主鍵「1」來解析和「2」和能夠抓住對應於按鍵「1」的值內{「1」:「Ent1」,「done」:「No」},{「1」:「Ent2」,「done」:「No」}將它們存儲到字典/字符串中,代碼如下:

for (NSString *key in dict) 
{ 
    NSString *answer = [dict objectForKey:@"1"]; 
    NSLog(@"%@", answer); 
} 

結果是Ent1和Ent2,因爲代碼遍歷for循環並檢查鍵爲「1」的對象。

問題是這樣的 - 我想將兩個值(Ent1和Ent2)存儲到一個數組中。

我使用下面的代碼:

NSMutableArray *array = [[NSMutableArray alloc] initWithObjects: answer, nil]; 

,但它只是需要最後指數是ENT2字典。

你能告訴我怎樣才能將兩個鍵值1添加到數組中?

感謝提前:)

回答

0
NSMutableArray *array = [[NSMutableArray alloc] init]; 

for (NSString *key in dict) 
{ 
    NSString *answer = [dict objectForKey:key]; 
    [array addObject:answer]; 
} 
+0

NSString * answer = ... < - 缺少星號 –

+0

@craig謝謝,修正。 – jamapag

+0

@Jamapag現在,如果我NSLog這個數組裏面的for循環,數組給我2值 - Ent1,Ent2 但是當我嘗試NSLog它超出範圍它只會給我最後一個指數值是Ent2。因此,如果我使用這個數組顯示在我的tableview中,它只顯示一個值。 有沒有什麼工作呢? 非常感謝你們,我非常感謝你們的幫助! – subodhbahl

1

爲了增加jamapag的回答,您還可以使用Objective C的JSON庫你喜歡SBJSONYAJL該做的所有工作,甚至爲部分更新版本的mac/iOS SDK,NSJSONSerialization

+0

我使用JSONKit在ios上的JSON。 – morgancodes