2010-02-11 138 views
0

解析JSON結果時出現問題。這是我從我的HTTP請求得到:解析JSON結果的問題

{"subscriptions": [ 
    {"id":"A", "title":"A title"}, 
    {"id":"B", "title":"B title"}, 
]} 

這是我在我的代碼正在做:

// Getting the result<br> 
NSString *str = [[NSString alloc] initWithData:receivedData encoding:NSASCIIStringEncoding]; 

// Creating the JSON parser<br> 
SBJSON *parser = [[SBJSON alloc] init]; 

// Parse result in an object<br> 
NSDictionary *result = [parser objectWithString:str]; 

到目前爲止,一切工作正常。我在結果對象中有一個鍵/值對,我認爲它是訂閱對象。但現在的問題是:如何訪問它的內部對象,如ID和標題?

感謝您的幫助。

+1

你JSON無效。 ','是分隔符,不是終結符。 (看起來你的解析器是糾錯的,但你應該得到固定的源數據) – Quentin 2010-02-11 15:17:35

+0

大衛您好, 感謝您的快速響應。我從Google獲取這個JSON,所以我認爲這不應該是問題。 – user270477 2010-02-11 15:31:11

回答

2

的JSON解析器將創建嵌套的NSArray和NSDictionary的對象爲您服務。要到陣列中使用:

NSArray *array = [result objectForKey:@"subscriptions"]; 

然後訪問對象數組中像這樣:

NSDictionary *arrayObject = [array objectForIndex:0]; 

最後,讓內部的一個對象做:

NSString *stringObject = [arrayObject objectForKey:@"id"]; 
+0

謝謝你sooo!它工作完美:-) – user270477 2010-02-11 15:44:50