YYModel JSON和model相互转化

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
云解析DNS,个人版 1个月
简介: JSON转模型是我们做iOS开发的基础技能,本文将通过[YYModel](https://github.com/ibireme/YYModel)这个框架安全快速的完成JSON到模型的转换,其中还会介绍到一款好用的插件[ESJsonFormat](https://github.com/EnjoySR/ESJsonFormat-Xcode)。
JSON转模型是我们做iOS开发的基础技能,本文将通过 YYModel这个框架安全快速的完成JSON到模型的转换,其中还会介绍到一款好用的插件 ESJsonFormat

1、首先创建模型类

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

使用方法:

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

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

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

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

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

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

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

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

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

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

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

2、使用YYModel进行解析

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

// 将 JSON (NSData,NSString,NSDictionary) 转换为 Model:
Model *model = [Model yy_modelWithJSON:json];

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

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

目录
相关文章
|
JSON Dart Android开发
Flutter如何JSON转Model
在开发中,服务端通常给我们返回的是JSON数据,我们需要将JSON数据转成我们的模型对象来使用。 在Flutter中,有几种JSON转模型的方式,我们还是以豆瓣为例,来进行一个演练;
661 0
Flutter如何JSON转Model
|
JSON 数据格式
SAP UI5 视图如何使用工程里的 sample data 作为 JSON model 的数据源
SAP UI5 视图如何使用工程里的 sample data 作为 JSON model 的数据源
SAP UI5 视图如何使用工程里的 sample data 作为 JSON model 的数据源
|
JSON 数据格式
SAP UI5 视图如何使用工程里的 sample data 作为 JSON model 的数据源
SAP UI5 视图如何使用工程里的 sample data 作为 JSON model 的数据源
SAP UI5 视图如何使用工程里的 sample data 作为 JSON model 的数据源
|
JSON 数据格式
how does framework know the Advertisement model should be used to parse json
how does framework know the Advertisement model should be used to parse json
109 0
how does framework know the Advertisement model should be used to parse json
|
JSON 数据格式
Fiori Elements objectPage component creation ui JSON model creation oModel.getMetaModel().load
Fiori Elements objectPage component creation ui JSON model creation oModel.getMetaModel().load
121 0
Fiori Elements objectPage component creation ui JSON model creation oModel.getMetaModel().load
|
JSON 数据格式
SAP UI5 视图如何使用工程里的 sample data 作为 JSON model 的数据源
SAP UI5 视图如何使用工程里的 sample data 作为 JSON model 的数据源
SAP UI5 视图如何使用工程里的 sample data 作为 JSON model 的数据源
|
JSON 数据格式
how does framework know the Advertisement model should be used to parse json
how does framework know the Advertisement model should be used to parse json
109 0
how does framework know the Advertisement model should be used to parse json
|
JSON 数据格式
create a new JSON model with url will trigger SAP UI5 AJAX
Created by Wang, Jerry, last modified on May 01, 2016
101 0
create a new JSON model with url will trigger SAP UI5 AJAX
|
JSON 数据格式
SAP UI5 createBindingContext in local JSON model
Created by Wang, Jerry, last modified on May 01, 2016
102 0
SAP UI5 createBindingContext in local JSON model
|
JSON 数据格式
difference between JSON Model and client model
Created by Wang, Jerry on Sep 25, 2015
92 0
difference between JSON Model and client model