Mantle,JSONModel,MJExtension,YYModel的比较

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mantle,JSONModel,MJExtension,YYModel的比较相关的知识,希望对你有一定的参考价值。

参考技术A 把JSON数据转换为模型,其他的不多说,且看下面分解。

Mantle

上面介绍的很详细,具体其他用法自行查看。

基本步骤:

基本原理:

测试API

如果你打开了,那数据基本上就是这样,仅供测试使用,无其他用途。

使用火狐浏览器打开如下:

MantleModel.h

MantleModel.m

对JSONKeyPathsByPropertyKey上面写了两种,其中的MantleDataModel你可以利用JSONKeyPathsByPropertyKey把所有属性按字典列出来:

或许你也可以直接写成这样:

利用属性名+JSONTransformer,对于dateJSONTransformer其中简单进行日期转换。

进行关键字替换:

当你的 Model 里的所有属性的名字和 JSON 里的所有 key 的名字完全相同的时候,你就可以用这个方法直接生成一个 NSDictionary, 直接返回:

比如这个:

你也可以直接这样:

优点:

缺点:

其他等等可以自行查看 Mantle

JSONModel

【对应上面测试API,数据仅供测试使用】:

JSONModel.h

JSONModel.m

关键值替换

忽略属性

设置某个字段为可选(为空)

设置所有的属性为可选(为空)

自动把下划线方式的命名转为驼峰命名属性,大小写转换

生成模型:

其他等等可以自行查看 JSONModel

YYModel

YYJSONModel.h

YYJSONModel.m

关键值替换

黑名单 与 白名单:

数据校验与自定义转换

JSON:

Model:

容器类属性

其他等等可以自行查看 YYModel

MJExtension

MJExtensionModel.h

MJExtensionModel.m

还是

其他等等可以自行查看 MJExtension

ios JSON 模型转换库评测

终于结束了。

以上是关于Mantle,JSONModel,MJExtension,YYModel的比较的主要内容,如果未能解决你的问题,请参考以下文章

iOS下JSON反序列化开源库

MJExtension框架源码分析

YYModel 源码历险记 代码结构

使用 cocoapods 时找不到 Mantle/Mantle.h' 文件

带空格的字符串无法转换为 NSURL - Mantle

字典转模型框架 Mantle的使用:国外程序员最常用的iOS模型