IOS成长之路-JSON解析

转载 2013年12月04日 16:55:22

json数据:

[html] view plaincopy
  1. {  
  2.     "result": [  
  3.                {  
  4.                "meeting": {  
  5.                "addr": "203",  
  6.                "creator": "张一",  
  7.                "member": [  
  8.                           {  
  9.                           "name": "张二",  
  10.                           "age": "20"  
  11.                           },  
  12.                           {  
  13.                           "name": "张三",  
  14.                           "age": "21"  
  15.                           },  
  16.                           {  
  17.                           "name": "张四",  
  18.                           "age": "22"  
  19.                           }  
  20.                           ]  
  21.                }  
  22.                },  
  23.                  
  24.                {  
  25.                "meeting": {  
  26.                "addr": "204",  
  27.                "creator": "张二",  
  28.                "member": [  
  29.                           {  
  30.                           "name": "张二",  
  31.                           "age": "20"  
  32.                           },  
  33.                           {  
  34.                           "name": "张三",  
  35.                           "age": "21"  
  36.                           },  
  37.                           {  
  38.                           "name": "张四",  
  39.                           "age": "22"  
  40.                           }  
  41.                           ]  
  42.                }  
  43.                }  
  44.                ]  
  45. }  

1、获取json文件路径,根据路径来获取里面的数据:

[html] view plaincopy
  1. NSString *path=[[NSBundle mainBundle] pathForResource:@"test" ofType:@"json"];  
  2.     NSString *_jsonContent=[[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];  

2、然后根据得到的_jsonContent字符串对象来获取里面的键值对:

[html] view plaincopy
  1. NSMutableDictionary dict=[_jsonContent JSONValue];//我们不需要去定义获取的方法,使用系统定义好的JSONValue即可  

3、然后根据得到的键值对来进行JSON解析:

[java] view plaincopy
  1. /* 
  2.         根据上面json数据之间的逻辑关系,可以获知我们解析的顺序: 
  3.           1. 根据得到的字符串获取里面的键值对, 
  4.             2.   根据得到的键值对通过key来得到对应的值,也就是值里面的数组, 
  5.               3.     然后获取数组中的键值对, 
  6.                 4.       然后根据得到的键值对通过key获取里面的键值对中的值 
  7.         */  
  8.       //json解析  
  9.        //2.  
  10.        NSArray *result=[_dict objectForKey:@"result"];  
  11.        //3.  
  12.        NSDictionary *dic=[result objectAtIndex:0];  
  13.        //4.  
  14.        NSDictionary *meeting=[dic  
  15.                               objectForKey:@"meeting"];  
  16.          
  17.        //得到 addr 值  
  18.        NSString *address = [meeting objectForKey:@"addr"];  
  19.        //得到 creator 值  
  20.        NSString *creator = [meeting objectForKey:@"creator"];  
  21.        //得到 member 里面的数据,因为这个键值中有数组,所以要重复上面的2,3,4的动作  
  22.        //2.  
  23.        NSArray *members=[meeting objectForKey:@"member"];  
  24.        //3.  
  25.        //这里用了for循环语句,  
  26.        for (NSDictionary * member in members) {  
  27.            //4.  
  28.            NSString *name = [member objectForKey:@"name"];  
  29.            NSString *age = [member objectForKey:@"age"];  
  30.        }  

这样就可以实现解析json数据了。。。

相关文章推荐

IOS成长之路-JSON解析

json数据: { "result": [ { "meeting": { "addr": "20...

IOS成长之路-解析xml数据

需要解析的 xml 数据: [html] view plaincopyprint? xml version="1.0" encoding="UTF-8"?>    Data...

IOS成长之路-解析xml数据

需要解析的 xml 数据: good lucky to you 111 This is a story hello 99 ...

IOS成长之路-用NSXMLParser实现XML解析

再次对xml进行解析,又有了些理解,如果有不对的地方,请给小弟指出,谢谢! 张一 张二 20 ...

IOS成长之路-导航栏的实现

创建这样一个项目: 在Model中创建一个简单的 view 界面,而  ViewController  类是一个表格的界面 创建表格的界面: 第一步: 第二...

IOS成长之路-实现界面切换和数据的传递

逻辑过程:ViewController.xib为第一个界面,里面显示的是Movie对象存储的name,price,summary  三个属性,会通过         - (void)viewDidL...

IOS成长之路-两个UIView界面传值--Delegate

首先是定义两个界面() 界面一: 界面二: 通过Delegate来实现:(第一个类把自己的一些事件委托给了 ViewDelegate这...

IOS成长之路-ASIFormDataRequest实现上传图片

UIImage *im = [UIImage imageWithContentsOfFile:path];//通过path图片路径获取图片 NSData *data = UIImagePNGR...

IOS成长之路-使用系统默认声音、震动

原文地址:http://blog.csdn.net/like7xiaoben/article/details/9001806 导入框架: 代码: ...

IOS成长之路-使用系统默认声音、震动

导入框架: 代码: #import #import @interface MsgPlaySound : NSObject { SystemSoundID soun...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IOS成长之路-JSON解析
举报原因:
原因补充:

(最多只允许输入30个字)