解析json数据

//找到json路径

NSString *filePath = [[NSBundlemainBundle] pathForResource:@"us_box"ofType:@"json"];

//从路径中获取数据

NSData *data = [NSDatadataWithContentsOfFile:filePath];

//解析json------>转换成NSDictionary或者是NSArray

//在iOS5.0之前解析json数据 使用第三方json解析工具:jsonKit/TouchJson/SBJson

//在iOS5.0之后------->使用NSJSONSerialization解析

NSError *error = nil;//NSError是一个指针的指针

NSDictionary *jasonDic = [NSJSONSerializationJSONObjectWithData:data options:NSJSONReadingMutableContainerserror:&error];

// NSLog(@"%@",jasonDic);

//获取所需要的数据,放入数组中

NSArray *arraySubjects = [jasonDic objectForKey:@"subjects"];

//定义一个可变数组

NSMutableArray *mArray = [NSMutableArrayarray];

//遍历数组

for (NSDictionary *dic in arraySubjects) {

NSDictionary *dicSubject = [dic objectForKey:@"subject"];

//将字典中的数据提取出来,填充到MovieModel上

MovieModel *model = [[MovieModelalloc] init];

//从字典中获取电影图片

model.p_w_picpathsDic = [dicSubject objectForKey:@"p_w_picpaths"];

//从字典中获取电影名称

model.title = [dicSubject objectForKey:@"title"];

//从字典中获取电影上映年份

model.year = [dicSubject objectForKey:@"year"];

//从字典中获取电影评分

model.average = [[dicSubject objectForKey:@"rating"] objectForKey:@"average"];

//经model添加到数组中

[mArray addObject:model];

}

//将数据放到_dataArray中

_dataArray = mArray;

//刷新TableView-----注意:如果使用的是网络数据必须要刷新,只要数据源发生改变几必须刷新数据

[_listTableViewreloadData];