我正在尝试访问从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开发人员..我也研究了几个小时现在无济于事
答案 0 :(得分:0)
questionsAndAnswers
将是一个字典数组。因此,您可以通过以下方式访问第一个问题的ID:questionsAndAnswers[0]["id"]
第二个问题的ID为questionsAndAnswers[1][@"id"]
,依此类推。