iOS JSON 数据解析

JSON 是比较常用的数据格式,相比 XML 层次更清晰,这里介绍两种解析 JSON 的方式:NSJSONSerialization 和 JSONKit

NSJSONSerialization 是 iOS 5 以后推出的,比较好用的 JSON 解析包.

JSON 数据格式由对应的 ‘[‘,‘]‘ 和 ‘{‘,‘}‘,前者表示数组,后者表示字典.

NSJSONSerialization 解析过程:

1.获取文件路径

2.获取文件内容

3.解析

简单小例子:

 1 - (IBAction)parserJSON:(id)sender {
 2
 3     //获取文件路径
 4
 5     NSString *jsonPath = [[NSBundle mainBundle] pathForResource:@"Student" ofType:@"json"];
 6     NSError *error = nil;
 7     NSData *jsonData = [NSData dataWithContentsOfFile:jsonPath];
 8     NSMutableArray *array = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error];
 9     if (error == nil) {
10         NSLog(@"%@",array);
11     }else {
12         NSLog(@"%@",error);
13     }
14
15     //数据封装
16
17     NSMutableArray *arr = [NSMutableArray array];
18
19     for (NSDictionary *dic in array) {
20         Student *stu = [[Student alloc]initWithDictionary:dic];
21         [arr addObject:stu];
22     }
23
24     for (Student *stu in arr) {
25         NSLog(@"%@",stu);
26     }
27 }

JSONKit 解析:(代码)

 1 - (IBAction)parserJSONWithJESONKIT:(id)sender {
 2
 3     //获取文件路径
 4
 5     NSString *jsonPath = [[NSBundle mainBundle] pathForResource:@"Student" ofType:@"json"];
 6     NSError *error = nil;
 7     NSString *JSONStr = [[NSString alloc]initWithContentsOfFile:jsonPath encoding:NSUTF8StringEncoding error:&error];
 8     NSLog(@"%@",JSONStr);
 9     //让jesonKIT 解析 JSON 数据
10     NSMutableArray *array = [JSONStr objectFromJSONString];
11     NSLog(@"%ld",array.count);
12     //数据封装
13     NSMutableArray *arr = [NSMutableArray array];
14
15     for (NSDictionary *dic in array) {
16         Student *stu = [[Student alloc]initWithDictionary:dic];
17         [arr addObject:stu];
18     }
19
20     for (Student *stu in arr) {
21         NSLog(@"%@",stu);
22     }
23 }
时间: 2024-10-12 09:47:13

iOS JSON 数据解析的相关文章

ios json数据解析

刚刚下午那会 弄了个 解析 xml  demo的小例子,本想着json也挺复杂 弄还是 不弄,但是简单的看了下 发现挺简单,这个时候就犹豫了,要不写到博客上来 ? 考虑了很久,还是写上来吧,毕竟json用得太多了,而且算是自己的积累吧,毕竟刚开始学习IOS开发方面的知识,就当是巩固了撒! 还是 先看个效果图吧,如下! 接下来 看下工程目录吧,其实并没有必要,直接建立一个工程就行 ,算了,还是贴上来吧,如下: 工程目录中有个 Notes.json 文件,该文件就是 要解析的json数据了 ,也截下

IOS - JSON数据解析 小3种方法

[manager GET:serverURL parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { // 3 解析返回的JSON数据 // 3.1 //        NSDictionary *result1 = (NSDictionary *)responseObject; // 3.2 //        NSString *requestTmp = [NSString string

iOS之网络数据下载和Json数据解析

iOS之网络数据下载和Json数据解析 简介 在本文中笔者将要给大家介绍iOS中如何利用NSURLConnection从网络上下载数据,如何解析下载下来的JSON数据,以及如何显示数据和图片的异步下载显示 涉及到的知识点: 1.NSURLConnection异步下载封装 2.JSON格式和JSON格式解析 3.数据显示和使用SDWebImage异步显示图片 内容 1.网络下载基础知识介绍 (1)什么是网络应用? 一般情况下, iPhone的计算机, 照相机不需要从网络上下载数据也能运行, 所以这

iOS开发笔记3:XML/JSON数据解析

这篇主要总结在iOS开发中XML/JSON数据解析过程用到的方法.XML数据解析主要使用SAX方式的NSXMLParser以及DOM方式的GDataXML,JSON数据解析主要使用NSJSONSerialization. 1.XML解析之NSXMLParser NSXMLParser是iOS原生的XML解析方式,采用SAX方式进行解析,特点是解析的时候从根元素开始,按顺序依次对每一个元素进行解析. 以下图所示XML文档为例进行解析 (1)首先是实例化一个NSXMLParser,设置代理监听解析过

iOS网络数据解析

iOS开发过程中,网络数据的传输过程一般是:客户端发送请求给服务器,服务器接收到客户端发送的网络请求后返回相应的数据.此时客户端需要把服务器返回的数据转化为前段和移动端开发中使用的数据格式(如OC/java).后台服务器一般使用php.java..net进行开发,而前段和移动端使用的一般是OC/JAVA/HTML/CSS/JS,做好前后端的数据交互极为重要,如今数据交互常用的就是JSON和XML.下面就iOS开发过程中的JSON解析和XML解析进行简单的说明. 一.JSON解析 JSON是一种轻

[转]JSon数据解析的四种方式

转至http://blog.csdn.net/enuola/article/details/7903632 作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式. 有的json代码格式比较混乱,可以使用此"http://www.bejson.com/"网站来进行JSON格式化校验(点击打开链接).此网站不仅可以检测Json代码中的错误,而且可以以视图形式显示json中的数据内容,很是方便. 从IOS5开始,APPLE提供了对json的原生支持(NSJSONS

json数据解析,并实现将网络json数据获取用listview显示

需要使用jar包 fastjson或gson这两个jar包. //Gson的使用方式 Gson gson=new Gson(); String str=ReadAssetsFile.readtext(this,"json_ss");//this当前类,"json_ss"需要解析的文件名 UserMessage userMessage=gson.fromJson(str,UserMessage.class);//需要解析的json文件最外层类名 //fastjson的

Android JSON数据解析(GSON方式)

要创建和解析JSON数据,也可以使用GSON来完成.GSON是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库.使用GSON,可以很容易的将一串JSON数据转换为一个Java对象,或是将一个Java对象转换为相应的JSON数据. 1.GSON的两个重要方法 在GSON的API中,提供了两个重要的方法:toJson()和fromJson()方法.其中,toJson()方法用来实现将Java对象转换为相应的JSON数据,fromJson()方法则用来实现将JSON数据转换

【Qt编程】基于Qt的词典开发系列<九>--JSON数据解析

在上一篇文章<用户登录及API调用的实现>中,我通过程序实现了用户登录及API调用的实现.从而能够实现网络查词.添词的操作.可是.从上文中能够看到.调用API后返回的是JSON格式的数据,例如以下图所看到的(在QtCreator中的显示): 为了更好的观察JSON格式.我整理后显演示样例如以下: 显然.为了显示查词的结果,我们必须在上图中提取实用的信息,并正确的显示出来. 上图中每一行内容的意思我已经在文章<调用网络API>中作了解释.我在词典中选择想要显示的内容有:单词本身.单词