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
6. TouchJson 13年之前比较流行
7. SBJson 不建议使用
8. 原生Json 解析方法 NSJSONSerialization 速度比较快需要我们手动的去建立模型解析比较费时间。可以进行高效、自由的进行装换,但是繁琐,容易出现错误。
2013年数据统计结果
9. FastEasyMapping
Yalantis 开发的一个JSON 模型转换库,可以自定义详细的 Model 映射过程,支持CoreData。使用者较少。
SBJSON在多数测试中都处于倒数的第一或倒数第二的位置。所以说,SBJSON实际上在性能这一点上讲,确实是非常“SB”的,实在不值得大家留念。赶快把你的JSON解析库换成其它的吧!
JSONKit本身做了很多内存上的优化,所以不支持ARC,你在使用时可以对其加上 -fno-objc-arc 的编译标志即可
iOS中JSON解析三方库的比较的更多相关文章
- IOS中Json解析的四种方法
		
作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式. 有的json代码格式比较混乱,可以使用此“http://www.bejson.com/”网站来进行JSON格式化校验 ...
 - 【转】IOS中Json解析的四种方法
		
原文网址:http://blog.csdn.net/enuola/article/details/7903632 作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式. 有 ...
 - iOS 中json解析数据出现中文乱码的问题
		
一般服务器的编码格式都是UTF8,这样通过json解析下来的的数据,一般中文是不会出现乱码,但是如果服务器的编码格式不是UTF8,通过json解析的数据中的中文容易出现luan乱码,怎么解决这个问题呢 ...
 - ios中json解析出现的null问题
		
http://my.oschina.net/iq19900204/blog/408034 在iOS开发过程中经常需要与服务器进行数据通讯,Json就是一种常用的高效简洁的数据格式. 问题现象 但是几个 ...
 - iOS中json解析出现的null,nil,NSNumber的问题
		
在iOS开发过程中经常需要与服务器进行数据通讯,Json就是一种常用的高效简洁的数据格式. 问题现象 但是几个项目下来一直遇到一个坑爹的问题,程序在获取某些数据之后莫名崩溃.其实很早就发现了原因:由于 ...
 - iOS开源JSON解析库MJExtension
		
iOS中JSON与NSObject互转有两种方式:1.iOS自带类NSJSONSerialization 2.第三方开源库SBJSON.JSONKit.MJExtension.项目中一直用MJExte ...
 - 2016 - 1- 23 iOS中xml解析  (!!!!!!!有坑要解决!!!!!!)
		
一: iOS中xml解析的几种方式简介 1.官方原生 NSXMLParser :SAX方式解析,使用起来比较简单 2.第三方框架 libxml2 :纯C 同时支持DOM与SAX GDataXML: D ...
 - iOS 中有用的开源库
		
youtube下载神器:https://github.com/rg3/youtube-dl vim插件:https://github.com/Valloric/YouCompleteMe vim插件配 ...
 - Flutter 中 JSON 解析
		
本文介绍一下Flutter中如何进行json数据的解析.在移动端开发中,请求服务端返回json数据并解析是一个很常见的使用场景.Android原生开发中,有GsonFormat这样的神器,一键生成Ja ...
 
随机推荐
- Oracle索引 详解
			
作者:Dave 一.索引介绍 1.1 索引的创建语法: CREATE UNIUQE | BITMAP INDEX <schema>.<index_name> ON <sc ...
 - 容器版jenkins安装并且实现使用宿主机docker命令,采用的是docker outside deocker,带jdk、添加maven、git
			
docker版jekins使用宿主机docker命令 docker版jekins安装,实现CI/CD,也就是实现在容器里面使用宿主机docker命令,这样方式为:docker outside deoc ...
 - 【Leetcode_easy】1170. Compare Strings by Frequency of the Smallest Character
			
problem 1170. Compare Strings by Frequency of the Smallest Character 参考 1. Leetcode_easy_1170. Compa ...
 - EC11编码器的使用方法
			
1. EC11编码器的原理图如下 2. 旋转的时候,波形如下,EC11转1格,产生一个上升沿的中断,思路就是检测AX4-1的上升沿中断(平时是低电平),进入中断服务函数,检测AX4-2的电平,低电平逆 ...
 - 无聊的活动/缘生意转(2018 Nova OJ新年欢乐赛B题)解题报告
			
题目2(下面的太抓 我重新写了个背景 其他都一样) 无聊的活动 JLZ老师不情愿的参加了古风社一年一度的活动,他实在不觉得一群学生跳舞有什么好看,更不明白坐在身后的学生为什么这么兴奋(看小姐姐),于是 ...
 - ubuntu 安装 svn
			
sudo apt-get install subversion
 - python线程障碍对象Barrier(34)
			
python线程Barrier俗称障碍对象,也称栅栏,也叫屏障. 一.线程障碍对象Barrier简介 # 导入线程模块 import threading # 障碍对象barrier barrier = ...
 - CF197A Plate Game
			
题目描述 你有一个长方形的桌子,长度 a ,宽度 b ,以及无限多的半径 r的圆盘. 两位玩家玩以下游戏:他们轮流把圆盘放在桌子上,使得盘子之间不能互相重叠(但他们的边缘可以互相接触),任何盘子上的任 ...
 - IDE集成开发环境(pycharm)、基本数据类型、用户的交互、运算符
			
一.IDE集成开发系统pycharm 目的:让Python编程更方便.高效. pycharm的简单定义: PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提 ...
 - python学习-57 logging模块
			
logging 1.basicConfig方式 import logging # 以下是日志的级别 logging.debug('debug message') logging.info('info ...