ios json转model的简单现实

简介: 在android开发中,可用第三方的转换库如gson等。当然在ios也有一些库如MJExtensiond等。在这里,我简单实现一下。一、先建一个model并且继承NSObject,代码如下:classUser:NSObject{var name:...

在android开发中,可用第三方的转换库如gson等。当然在ios也有一些库如MJExtensiond等。在这里,我简单实现一下。

一、先建一个model并且继承NSObject,代码如下:

classUser:NSObject{

var name:String?

var sex:String?

var age:Int=0

override func setValue(_value:Any?, forUndefinedKey key:String) {

}

}

二、在控制器中进行测试

classTestViewController:UIViewController{

overridefuncviewDidLoad() {

super.viewDidLoad()

let dic = ["name":"张三","sex":"男","age":"20"]

let user =User()

user.setValuesForKeys(dic)

print("-转换结果--",user.name!,"---",user.sex!,"---",user.age)

}

overridefuncdidReceiveMemoryWarning() {

super.didReceiveMemoryWarning()

}

}

运行后可以看到

-转换结果--张三------ 20

注意:

但是有个问题,当我们的json数据字段多余我们的模型字段的时候就直接奔溃了(也就是说要一一对应,不然就报错)。这样的话显然不是我们想要的,因为在实际开发中,我们都只会取我们想要的那部分数据,其他的我们并不需要,这个问题怎么解决的其实也简单,只需要在我们的模型中重写一个setValue方法就可以过滤掉没有的字段了代码如下:

classUser:NSObject{

varname:String?

varsex:String?

varage:Int=0

varno:String?

override func setValue(_value:Any?, forUndefinedKey key:String) {

}

}

重写后我们在测试的那个字典中加入a这个字段再来测试一下

classTestViewController:UIViewController{

overridefuncviewDidLoad() {

super.viewDidLoad()

letdic = ["name":"张三","sex":"男","age":"20","no":"1000","a":"wx"]

letuser =User()

user.setValuesForKeys(dic)

print("-转换结果--",user.name!,"---",user.sex!,"---",user.age,user.no!)

}

overridefuncdidReceiveMemoryWarning() {

super.didReceiveMemoryWarning()

}

}

运行不报错了,结果为:-转换结果--张三------ 20 1000

这个就是简单实现josn和model转换的示例,如有问题欢迎留言!

博客园地址:www.cnblogs.com/zzjbk/p/7941406.html

目录
相关文章
|
JSON 数据格式 iOS开发
iOS基础 JSON格式
iOS基础 JSON格式
137 0
|
JSON 移动开发 数据格式
iOS url传递JSON格式参数方法
iOS url传递JSON格式参数方法
297 0
|
JSON 安全 数据格式
YYModel JSON和model相互转化
JSON转模型是我们做iOS开发的基础技能,本文将通过[YYModel](https://github.com/ibireme/YYModel)这个框架安全快速的完成JSON到模型的转换,其中还会介绍到一款好用的插件[ESJsonFormat](https://github.com/EnjoySR/ESJsonFormat-Xcode)。
744 0
|
JSON Dart Android开发
Flutter如何JSON转Model
在开发中,服务端通常给我们返回的是JSON数据,我们需要将JSON数据转成我们的模型对象来使用。 在Flutter中,有几种JSON转模型的方式,我们还是以豆瓣为例,来进行一个演练;
715 0
Flutter如何JSON转Model
|
JSON 数据格式 iOS开发
iOS Json转字典Dict
开发中有时候需要用到假数据, 假数据的用途
360 0
iOS Json转字典Dict
|
JSON API 数据格式
iOS保存接口返回枚举数据为本地json文件可用于测试
iOS保存接口返回枚举数据为本地json文件可用于测试
349 0
iOS保存接口返回枚举数据为本地json文件可用于测试
|
XML JSON JavaScript
iOS网络请求指南: 请求参数的拼接(签名)、返回参数解析(JSON/XML解析)、案例(条码支付综合前置平台申请退款)
iOS网络请求指南: 请求参数的拼接(签名)、返回参数解析(JSON/XML解析)、案例(条码支付综合前置平台申请退款)
428 0
iOS网络请求指南: 请求参数的拼接(签名)、返回参数解析(JSON/XML解析)、案例(条码支付综合前置平台申请退款)
|
JSON 移动开发 数据格式
iOS:JSON转OC属性小工具
iOS:JSON转OC属性小工具
411 0
|
JSON 数据格式 iOS开发
iOS中JSON数据的解析
iOS中JSON数据的解析
249 0
|
JSON 数据格式 iOS开发
IOS开发专题---转化解析JSON格式为字符格式(原生类库解析)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.
743 0