JSON转模型 For YYModel
Pin Young Lv9

JSON转模型是我们做iOS开发的基础技能,本文将通过YYModel这个框架安全快速的完成JSON到模型的转换,其中还会介绍到一款好用的插件ESJsonFormat

1、首先创建模型类

创建模型类我们可以通过ESJsonFormat这款插件快速完成。

使用方法:

将光标移动到代码行中 如下图的13行

然后点击Window->ESJsonFormat->Input JSON Window调出窗口

image

在窗口中输入你要解析的JSON文本,如下图:

image

Enter继续,然后神奇的一幕发生了

image

image

看到在.h中 所有的属性自动为你填上,而且帮你选好了类型

.m 也为你声明了list中成员的类型,不过这里需要稍作修改,因为我们需要用到YYModel进行解析,所以方法名改成modelContainerPropertyGenericClass

1
2
3
4
+ (NSDictionary *)modelContainerPropertyGenericClass {
return @{@"list" : [List class]};
}

还有问题就是属性中出现关键字id,我们需要将id改为teacherId

然后在.m的implementation中声明,将字典的的id

1
2
3
+ (NSDictionary *)modelCustomPropertyMapper {
return @{@"teacherId" : @"id"};
}

这样,模型的创建就完成了,剩下的就是用YYModel进行解析了

2、使用YYModel进行解析

解析很简单,就只需要一句话

1
2
3
4
5
6
7
// 将 JSON (NSData,NSString,NSDictionary) 转换为 Model:
Model *model = [Model yy_modelWithJSON:json];

// 或者
Model *model = [[Model alloc] init];
[model yy_modelSetWithDictionary:json];

到此,简便快速的完成了JSON到模型的转换。

最后,这里附上一篇YYModel的使用