发布时间:2024年11月06日 13:38:48分享人:洗头发的秃子来源:互联网4
在前两篇文章中,阿堂分享了关于ios中xml常用的解析方式的实例,这篇文章,阿堂将会介绍json的解析方式的实例。同样,在介绍之前,阿堂先对常见的json解析框架作下简单总结。 SBJson:它是比较老的json编码/解码框架,原名是json-framework。这个框架现在更新仍然很频繁,支持arc。源码下载地址:https://github.com/stig/json-framework。 TouchJSON:它是比较老的json编码/解码框架。支持arc和mrc。源码下载地址https://github.com/TouchCode/TouchJSON。 YAJL:它是优秀的json框架,基于sbjson进行了优化,底层api使用c编写,上层api使用objective-c编写,使用者可以有多种不同的选择。它不支持arc,源码下载地址http://lloyd.github.com/yajl。 JSONKit:它是更为优秀的json框架,它的代码很少,但是解码速度很快,不支持arc,源码下载地址https://github.com/johnnezang/JSONKit。 NetxtiveJson: 它也是非常优秀的json框架,与jsonkit的性能差不多,但是在开源社区中没有jsonkit知名度高,不支持arc,源码下载地址为https://github.com/nextive/NextiveJson。 NSJSONSerialization:它是ios5之后苹果提供的api,是目前非常优秀的json编码/解码框架。支持arc,ios5之后的jdk就已经包含这个框架了,不需要额外安装和配置。
如果考虑ios5之前的版本,NetxtiveJson和jsonkit都是不错的选择,它们都不支持arc,使用起来有点麻烦,需要安装和配置到工程环境中去。
下面,阿堂主要介绍 使用NSJSONSerialization 框架的一个测试实例
测试截图如下
NSJSONSerialization 框架使用的调用代码非常简洁
NSString* path = [[NSBundle mainBundle] pathForResource:@"Notes" ofType:@"json"];
NSData *jsonData = [[NSData alloc] initWithContentsOfFile:path];
NSError *error;
id jsonObj = [NSJSONSerialization JSONObjectWithData:jsonData
options:NSJSONReadingMutableContainers error:&error];
if (!jsonObj || error) {
NSLog(@"JSON解码失败");
}
self.listData = [jsonObj objectForKey:@"Record"];
爱华网本文地址 » http://www.413yy.cn/a/25101011/68210.html