试图从json创建的nsdictionary访问信息

时间:2014-03-24 20:14:32

标签: ios json nsdictionary

我正在尝试访问从json创建的nsdictionary中的信息,但似乎无法弄清楚如何访问这些值。我已经把字典打印出去了,但无法访问特定的键/值:这里是json

[     {   “id”:“1”,   “问题”:“你多大了”,   “答案”:[               “7”,               “9”,               “13”               ]   },   {   “id”:“2”,   “问题”:“你多大了”,   “答案”:[               “7”,               “9”,               “13”               ]   } ]

我最大的困惑是我在退出字典时获得的格式:

NSLog(@“%@”,questionsAndAnswers);

我回来了:

({ 答案=(             7,             9,             13         );         id = 1;         问题=“你多大了”;     },         {         答案=(             7,             9,             13         );         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 个答案:

答案 0 :(得分:0)

questionsAndAnswers将是一个字典数组。因此,您可以通过以下方式访问第一个问题的ID:questionsAndAnswers[0]["id"]

第二个问题的ID为questionsAndAnswers[1][@"id"],依此类推。