2014-03-24 51 views
0

我試圖訪問從json創建的nsdictionary中的信息,但似乎無法弄清楚如何訪問這些值。我已經得到了詞典將其打印出來,但不能訪問特定的鍵/值:這裏是JSON嘗試從json創建的nsdictionary中訪問信息

[ { 「ID」:「1」, 「問題」:「你多大了你」, 的 「答案」: 「7」, 「9」, 「13」 ] }, { 「ID」: 「2」, 「問題」: 「你多大了」 , 「answers」:[ 「7」, 「9」, 「13」 ] } ]

我最大的困惑是,當我退出的字典,我得到的格式:

的NSLog(@ 「%@」,questionsAndAnswers);

我回去:

({ 答案=( 7, 9,); ID = 1; 問題= 「你多大了」 }, { 答案=( 7, 9,); ID = 2; 問題= 「你多大」; } )

所以顯示順序不同於我認爲沒什麼大不了的輸入順序。我想要做的事,如:

NSArray *answersArray = [questionsAndAnswers allKeysForObject:@"answers"]; 

這是我從這裏樣的教訓:http://rypress.com/tutorials/objective-c/data-types/nsdictionary.html

但我與不管我如何被格式化的錯誤。

下面是字典代碼:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"DataJson" ofType:@"json"]; 

NSData *JSONData = [NSData dataWithContentsOfFile:filePath options:NSDataReadingMappedIfSafe error:nil]; 

questionsAndAnswers = [NSJSONSerialization JSONObjectWithData:JSONData options:NSJSONReadingMutableContainers error:nil]; 

關於這個問題的任何幫助將不勝感激! 記住我是新手的iOS開發者..還我現在研究這幾個小時無果

+1

首先要理解的是,您的JSON是一個字典數組。 – rmaddy

+0

你還需要更好地解釋你的問題。顯示你的嘗試。解釋你想要得到什麼以及你實際得到了什麼。 – rmaddy

+0

我會編輯和解釋更多的感謝! – user3334438

回答

0

questionsAndAnswers將是一個陣列字典的。因此您可以通過以下方式訪問第一個問題的編號:questionsAndAnswers[0]["id"]

第二個問題的編號將爲questionsAndAnswers[1][@"id"]依此類推。

+0

我沒有意識到這是一個字典數組。我認爲這可能是這樣的,但是,因爲這證實我可以瞭解更多關於處理字典數組的知識。謝謝 – user3334438