HandyJSON使用Tip
HandyJSON描述
HandyJSON是alibaba公司开源的一个映射json数据到对象的一个Swift语言库. 其特点是直接操作内存来完成给对象赋值。没有使用KVC特性,不需要对象继承NSObject类。
常见用法
让class、struct、enum直接实现HandyJSON协议。
HandyJSON里面只有一个无参数的init方法。
HandyJSON赋值不触发属性的KVO方法
因为HandyJSON是直接操作内存赋值的,所以对象的KVO方法不会被调用。也就是所willSet, didSet方法不会被触发。所以依赖KVO的属性需要映射后特别处理。
复杂属性的映射
对象属性名和json属性不一致的映射 (文档有示例)
属性名一致但值需要转换 (文档有示例)
属性名不一致需要转换 (估计比较少见,文档无示例)下面举一个例子
1 | //json: "{"name", "Erik Lu", "age": "25", "liking": "swimming,chess,climing"}" |