2011-09-28 41 views
0

我使用的是SBJSON(對於JSON來說是新的),並且可以輕鬆提取httprequest的響應數據。問題在於,我對訪問子級別的元素非常無能。JSON子級提取 - 如何? Objective-C

例如:

級別1:

鍵:ID

鍵:car_list

=========

car_list(級別2)

注意:car_id

重點:car_name

重點:car_size

所以就像我說的,我可以通過訪問頂層對象:

NSDictionary *responseDict = [responseString JSONValue]; 
NSString *id = [responseDict objectForKey:@"id"]; 

但不知道如何訪問內的元素「car_list」。

感謝

回答

2

一種簡單的方法,如果你有字典的字典,就是用valueForKeyPath:

例如:

NSString *carName = [responseDict valueForKeyPath:@"car_list.car_name"]; 

所有你需要做的是加入您的鑰匙與時期。如果任何這些路徑返回一個數組或集合,那麼您將收到一個集合。您還可以使用set/array鍵值編碼路徑來計算集合上的內容,例如@avg和@count。