您现在的位置是:主页 > news > 宝安网站制作网站建设/电商网站建设 网站定制开发
宝安网站制作网站建设/电商网站建设 网站定制开发
admin2025/5/18 1:16:18【news】
简介宝安网站制作网站建设,电商网站建设 网站定制开发,app免费下载入口,泰安人才网最新招聘信息2022年在IOS开发中,不时的会遇到JSON格式的文件需要我们处理,难免我们这些码农们寻找简单快捷的JSON解析类库也帮我们,可是哪个类库能够真正的高效、准确、合理的帮我们解决我们的问题呢?在开发中,看到很多码农们都喜欢使用S…
宝安网站制作网站建设,电商网站建设 网站定制开发,app免费下载入口,泰安人才网最新招聘信息2022年在IOS开发中,不时的会遇到JSON格式的文件需要我们处理,难免我们这些码农们寻找简单快捷的JSON解析类库也帮我们,可是哪个类库能够真正的高效、准确、合理的帮我们解决我们的问题呢?在开发中,看到很多码农们都喜欢使用S… 在IOS开发中,不时的会遇到JSON格式的文件需要我们处理,难免我们这些码农们寻找简单快捷的JSON解析类库也帮我们,可是哪个类库能够真正的高效、准确、合理的帮我们解决我们的问题呢?在开发中,看到很多码农们都喜欢使用SBJSON,承认SBJSON确实是不错的解析类库,可是是不是是最快捷、高效的呢?不免有些怀疑,因此在爬文的时候找到了一些文章,来帮助我们了解JSON类库的种种。
下图是ArthurChenJS的博客文章中的一张benchmark测试结果图(横条越短,解析速度越快):

从文章和上图中可以看到,SBJSON在多数测试中都处于倒数的第一或倒数第二的位置。所以说,SBJSON实际上在性能这一点上讲,确实是非常“SB”的,实在不值得大家留念。赶快把你的JSON解析库换成其它的吧!
那么应该换成哪个呢? 如果你的app只支持iOS 5.0以上系统,那么直接用苹果官方提供的JSON库:NSJSONSerialization库即可。 如果你的app要支持iOS 5.0以下的系统,那么我个人推荐JSONKit,不过JSONKit本身做了很多内存上的优化,所以不支持ARC,你在使用时可以对其加上 -fno-objc-arc 的编译标志即可,设置这个编译标志的详细步骤可以见这篇文章。
JSONKit的使用也非常方便,在使用上只需要把SBJSON的JSONValue方法换成objectFromJSONData,JSONRepresentation方法换成JSONString即可。附上一段使用示例:
#import "JSONKit.h"
NSString *path = [[NSBundle mainBundle] pathForResource:@"data" ofType:@"json"];
NSData *content = [NSData dataWithContentsOfFile:path];
NSDictionary *kitData = [content objectFromJSONData];
NSString *kitString = [kitData JSONString];
部分内容来自网络,如有不妥之处,请指正!
在IOS开发中,不时的会遇到JSON格式的文件需要我们处理,难免我们这些码农们寻找简单快捷的JSON解析类库也帮我们,可是哪个类库能够真正的高效、准确、合理的帮我们解决我们的问题呢?在开发中,看到很多码农们都喜欢使用SBJSON,承认SBJSON确实是不错的解析类库,可是是不是是最快捷、高效的呢?不免有些怀疑,因此在爬文的时候找到了一些文章,来帮助我们了解JSON类库的种种。
SBJSON可以说是最早在IOS上出现的第三方JSON解析类库,几乎没有那个开发者没有接触过,也许是因为使用的人多了,大家都熟悉了这个类库,因此对于其他的第三方类库没了兴趣。但是随着IOS的发展,现今IOS5出现了,IOS6也来了,许多优秀的JSON解析类库也出现了,相对于SBJSON来说,性能更加的优越了。
现在来说,IOS行业里主要的,也是比较流行的JSON解析类库有:NSJSONSerialization、Apple JSON、TouchJSON、SBJSON、YAJL、JSONKit。
行业里已经有很多人对这些类库进行了bench mark测试。部分测试结果罗列在这里:
- https://github.com/samsoffes/json-benchmarks
- http://blog.csdn.net/arthurchenjs/article/details/7009995
- http://blog.csdn.net/ccat/article/details/7207871
- http://omegadelta.net/2011/11/04/json-framework-now-sbjson-is-evil/
- http://stackoverflow.com/questions/2256625/comparison-of-json-parser-for-objective-c-json-framework-yajl-touchjson-etc
下图是ArthurChenJS的博客文章中的一张benchmark测试结果图(横条越短,解析速度越快):

从文章和上图中可以看到,SBJSON在多数测试中都处于倒数的第一或倒数第二的位置。所以说,SBJSON实际上在性能这一点上讲,确实是非常“SB”的,实在不值得大家留念。赶快把你的JSON解析库换成其它的吧!
那么应该换成哪个呢? 如果你的app只支持iOS 5.0以上系统,那么直接用苹果官方提供的JSON库:NSJSONSerialization库即可。 如果你的app要支持iOS 5.0以下的系统,那么我个人推荐JSONKit,不过JSONKit本身做了很多内存上的优化,所以不支持ARC,你在使用时可以对其加上 -fno-objc-arc 的编译标志即可,设置这个编译标志的详细步骤可以见这篇文章。
JSONKit的使用也非常方便,在使用上只需要把SBJSON的JSONValue方法换成objectFromJSONData,JSONRepresentation方法换成JSONString即可。附上一段使用示例:
#import "JSONKit.h"
NSString *path = [[NSBundle mainBundle] pathForResource:@"data" ofType:@"json"];
NSData *content = [NSData dataWithContentsOfFile:path];
NSDictionary *kitData = [content objectFromJSONData];
NSString *kitString = [kitData JSONString];
部分内容来自网络,如有不妥之处,请指正!