解析json数据

解析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.imagesDic = [dicSubject objectForKey:@"images"];

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

        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];


你可能感兴趣的:(我的文章)