iOS_OC 字典模型转换工具的比较(Mantle和MJExtension和Jsonmodel) 持续更新
前言:SS项目一开始的数据转换和存储用的是Mantle 和 MagicalRecord,其实这个效果真的还不错,但是因为SS项目是个工具类的项目,一个实体内可能添加N个工具Model,而且每个model又要有很多内容,从而使得整个项目的性能很低,尤其当添加了很多工具Model时,速度简直不能忍受,为了增加性能,从而考虑换转换工具。(一点点收集,一点点更新)
MJExtension
1.作用: MJExtension是一套字典和模型之间互相转换的超轻量级框架。
1)JSON
--> Model
、Core Data Model
2)JSONString
--> Model
、Core Data Model
3)
Model
、Core Data Model
--> JSON
4)
JSON Array
--> Model Array
、Core Data Model Array
5)
JSONString
--> Model Array
、Core Data Model Array
6)
Model Array
、Core Data Model Array
--> JSON Array
7)Coding all properties of model in one line code. 只需要一行代码,就能实现模型的所有属性进行Coding(归档和解档)
从GitHub的文档上可以清楚的认识到,MJExtension只是单纯的Json和Model之间的相互转换,但如果你的数据结构是Json(Web数据)↔Model(UI层数据)↔Core Data Model(数据库层数据),这样的话MJExtension就力有未逮了,也可以考虑用JsonString作为中间层进行转换。
MJExtension 是 JSON 和模型之间最快捷方便的转换。对于比较小的项目用MJExtension一点压力也没有。而且不会污染数据。从性能的角度上讲可以考虑只在在Json↔Model上使用。对于不涉及数据库的程序这个无疑是很好的选择。
最近一次测试表明:MJExtension > JSONModel > Mantle