第三方SwiftyJSON的使用方法

2017-05-24  本文已影响263人  野比大雄001

在object-c中,我们可以利用kvc原理完成;根据kvc原理,也有很多开源的第三框架生成;比如mjextension框架字典转模型。但是对于Swift语言中,没有继承nsobject类,是不支持kvc的;object-c的runtime机制是非常给力的,所以反射的概念很少,像在Java、c#语言中,反射是很常用的;在swift中也支持反射;

反射:根据对象获取对象的类型,及属性;

在swift中,我们可以利用HandyJSON框架来完成字典转模型这个事;HandyJSON的核心就是反射;

A: JSONSerialization能将JSON转换成Foundation对象,也能将Foundation对象转换成JSON,但转换成JSON的对象必须具有如下属性:

1,顶层对象必须是Array或者Dictionary

2,所有的对象必须是String、Number、Array、Dictionary、Null的实例

3,所有Dictionary的key必须是String类型

4,数字对象不能是非数值或无穷

注意:尽量使用JSONSerialization.isValidJSONObject先判断能否转换成功。

B:SwiftyJSON(保持JSON语义,直接解析JSON,但通过封装使调用方式更优雅、更安全,但是Key、路径、类型仍然需要开发者去指定)

C: HandyJSON (预定义Model类,将JSON反序列化为类实例,再使用这些实例,进行Model和JSON间的互相转换)

上一篇下一篇

猜你喜欢

热点阅读