iOS中JSON解析三方库的比较

网络数据解析框架

  • 1 . JsonModel

    • 一个 JSON 模型转换库,有着比较简洁的接口。Model 需要继承自 JSONModel。
  • 2 . yyModel

    • yyModel比较轻量(算上.h 只有 5 个文件),支持自动的 JSON/Model 转换,支持定义映射过程。API 简洁,功能也比较简单。据说作者是用两个周末写出来的,需要谨慎使用。
  • 3 . MJExtension

    • 国内开发者”小码哥”开发的JSON 模型库,号称性能超过 JSONModel 和Mantle,使用简单无侵入。国内有大量使用者。
  • 4 . Mantle 唱吧

    • Github 官方团队开发的JSON 模型转换库,Model 需要继承自MTLModel。功能丰富,文档完善,使用广泛。

    • 类型转换太捉急 解析层次比较深的模型逻辑较为复杂

    • key mapper的逻辑真是要吐血

  • 5 . JsonKit

    • JSONKit本身做了很多内存上的优化,所以不支持ARC,你在使用时可以对其加上 -fno-objc-arc 的编译标志即可
  • 6 . TouchJson 13年之前比较流行

  • 7 . SBJson 不建议使用

    • SBJSON在多数测试中都处于倒数的第一或倒数第二的位置。所以说,SBJSON实际上在性能这一点上讲,确实是非常“SB”的,实在不值得大家留念。赶快把你的JSON解析库换成其它的吧!
  • 8 . 原生Json

    • 解析方法 NSJSONSerialization 速度比较快需要我们手动的去建立模型解析比较费时间。可以进行高效、自由的进行装换,但是繁琐,容易出现错误。
  • 9 . FastEasyMapping

    • Yalantis 开发的一个JSON 模型转换库,可以自定义详细的 Model 映射过程,支持CoreData。使用者较少。

2016年最新统计结果

用例2:WeiboStatus

从官方微博 App 抓取一条内容完整的微博数据,JSON总共有 580 行(是的,一条微博需要这么大数据量),包含大量嵌套对象、容器对象、类型转换、日期解析等。这个用例主要是测试在复杂的情况下不同库的性能。

每次测试执行 1000 次,统计耗时毫秒数。

测试结果如下:

  • Mantle在各个测试中,性能都是最差的

  • JSONModel和 MJExtension 性能相差不多,但都比 Mantle 性能高。

  • FastEasyMapping相对来说性能确实比较快。

  • YYModel性能高出其他几个库一个数量级,接近手写代码的效率。

  • FastEasyMapping不支持 NSCoding 协议,所以不能进行 Archive 的性能测试。

  • MJExtension在处理复杂对象转为 JSON 时,存在错误。

容错性:

容错性主要是测试在默认情况下,当 JSON格式错误时,Model框架是否会产生错误结果或造成 Crash。

原文链接:-FIGHTING-

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值