在iOS开发中我们肯定会用到JSON和Model的转换。iOS中原生支持的就是从字典映射到一个对象,KVC中有一个方法提供,这个方法就是 setValuesForKeysWithDictionary:。
有篇文章还是比较详细的介绍了,有兴趣的可以看看 KVC中setValuesForKeysWithDictionary:。
但是这样就需要我们自己先把JSON转换为dictionary,然后再转化为model,这样是比较麻烦的,还有类型转化啊容错性之类的都是要考虑的。所以就出现了很多第三方JSON和Model的转换库。
如Mantle、YYModel、FastEasyMapping、JSONModel、MJExtension
这里YYModel的作者写了一片各个库的比较,写的还是比较全面的iOS JSON 模型转换库评测。主要从性能和容错性部分进行评测。个人觉得性能部分确实不用考虑太多,功能复杂多样,可定制性强性能自然会有些损耗。但我们毕竟只是在转换的时候用一下,性能速度基本上影响不大,可以忽略不计。
如果你希望功能强大可定制强还是使用Mantle比较好,如果需求简单想快速上手MJExtension和YYModel都是可以考虑的,毕竟都是国内开发者写的文档比较容易理解,且有问题都是可以去咨询的。
这有个JSON快速输出为Model属性代码的插件,倒是挺有趣的,懒人专用。ESJsonFormat-Xcode