您的位置:首页 > 移动开发 > IOS开发

iOS加载本地Json文件,b并转为模型数据

2015-10-17 22:28 1366 查看
- (NSArray *)lianxis
{
if (_lianxis == nil) {

//JSON文件的路径
NSString *path = [[NSBundle mainBundle] pathForResource:@"lianxis.json" ofType:nil];

//加载JSON文件
NSData *data = [NSData dataWithContentsOfFile:path];

//将JSON数据转为NSArray或NSDictionary
NSArray *dictArray = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];

//将字典转为数组
NSMutableArray *lianxArray = [NSMutableArray array];
for (NSDictionary *dict in dictArray) {
LianxiModel *model = [LianxiModel lianxiWithDict:dict];
[lianxArray addObject:model];
}

//赋值
_lianxis = lianxArray;
}
return _lianxis;
}

模型.h

#import <Foundation/Foundation.h>

@interface LianxiModel : NSObject
/**
*  练习按钮上的文字
*/
@property(nonatomic,copy)NSString *title;
/**
*  练习按钮上的图标
*/
@property(nonatomic,copy)NSString *icon;

- (instancetype)initWithDict:(NSDictionary *)dict;
+ (instancetype)lianxiWithDict:(NSDictionary *)dict;
@end


模型.m

#import "LianxiModel.h"

@implementation LianxiModel

- (instancetype)initWithDict:(NSDictionary *)dict
{
if (self = [super init]) {
self.icon = dict[@"icon"];
self.title = dict[@"title"];
}
return  self;
}
+ (instancetype)lianxiWithDict:(NSDictionary *)dict
{
return [[self alloc] initWithDict:dict];
}
@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: