导入JSON数据

来源:互联网 发布:mac显示桌面快捷键 编辑:程序博客网 时间:2024/05/22 15:02

JSON文件里最外层是数组,里面含有一个个字典

[      {            "title": "网易电影票",             "id": "com.netease.movie",            "url": "http://itunes.apple.com/app/id583784224?mt=8",             "icon": "movie@2x.png",             "customUrl": "movieticket163"      },      {            "title": "网易新闻",             "id": "com.netease.news",             "url": "http://itunes.apple.com/app/id425349261?mt=8",             "icon": "newsapp@2x.png",             "customUrl": "newsapp"      }]

首先,在controller.m中定义一个可变数组保存JSON数据

@property (nonatomic,strong) NSMutableArray *products; // 从JSON得到的数据

然后,在属性的懒加载方法中,解析得到JSON数据

#pragma mark - 懒加载解析JSON数据:-(NSMutableArray *)products{    if (_products == nil) {        _products = [NSMutableArray array];        // json文件存放路径        NSString *fileName = [[NSBundle mainBundle] pathForResource:@"products.json" ofType:nil];        // 将文件内容转换为NSData格式        NSData *jsonData = [NSData dataWithContentsOfFile:fileName];        // 解析JSON后得到数组        NSArray *jsonArr = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:nil];        // 遍历JSON数组里的字典,然后将每个字典转模型        for (NSDictionary *dict in jsonArr) {            // ProductModel类中的“字典转模型”的类方法            ProductModel *pModel = [ProductModel ProductModelWithDictionary:dict];            // 添加已经转成的模型            [_products addObject:pModel];        }    }    return _products;}
0 0