YYModel JSON和model相互转化

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 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转模型的方式,我们还是以豆瓣为例,来进行一个演练;
724 0
Flutter如何JSON转Model
|
JSON 数据格式 iOS开发
ios json转model的简单现实
在android开发中,可用第三方的转换库如gson等。当然在ios也有一些库如MJExtensiond等。在这里,我简单实现一下。 一、先建一个model并且继承NSObject,代码如下: classUser:NSObject{ var name:...
1156 1
|
JSON 数据格式 iOS开发
swift4.0 txt文件json取出转model
func chooseTxtContent() -> Void { guard let url = Bundle.main.url( forResource: "source/AllCountry/zh_Hans_CNCountry", withExt...
1052 0
|
JSON 数据格式
|
JSON JavaScript 数据格式
Model 和 JSON 间互相转换
在.net 4.0 下可以使用:     // using System.Runtime.Serialization.Json;          解析JSON,仿Javascript风格         public static class JSON    {        public sta...
690 0
|
2月前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道