github地址:(https://github.com/winddpan/CodableWrapper)
使用之前的问题
- 属性无法设置默认值
- 属性数据类型与JSON数据不匹配,转模型出错
- 基本数据类型属性与JSON数据不匹配无法进行桥接转换
- 使用codingKeys不够方便
使用CodableWrapper之后,以上的问题都得到了很好的解决。
当我们给了属性默认值之后,即使该属性的数据类型和其对应的json数据中数据类型不匹配也不会发生解析出错的问题,并且该属性会使用默认值。
如图所示,虽然json中的bool字段的数据类型是字符串类型,decode之后得到的model中的bool会使用默认值false。
后台经常会给我们返回一些Int类型或float类型或string的数据,但我们可能只需要string类型的数据,我们在拿到原始数据后可能还需要做一下转换,使用了CodableWrapper我们就可以不用自己手动转换了,我们只需要在创建Model的使用使用string修饰该属性即可(OC中的MJExtension就能实现同样的功能)。
如图: