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成长之路-2-我的第一个iOS Demo

看到这篇博文,想起我的毕业设计了.. 转自:http://beyondvincent.com/2014/01/06/2014-01-05-126-my-iOS-growth-path-2/ ...
  • n7800
  • n7800
  • 2015年07月12日 18:33
  • 512

IT 成长之路

一点一滴
  • javald
  • javald
  • 2014年11月09日 10:52
  • 261

Java程序员谈一谈-----java程序员成长之路

转载:http://www.banzg.com/archives/679.html?ref=myread 阿里面试回来,想和Java程序员谈一谈 引言 其实本来真的没打算写这...
  • wickedvalley
  • wickedvalley
  • 2017年02月10日 22:07
  • 6195

荐书丨逆流而上:阿里巴巴技术成长之路

阿里官方背书,技术保障团队倾力著作 以技术案例的形式进行讲解,实用性强 技术覆盖面广,读者用户基数大 2017年7月27日,阿里巴巴集团市值超越4040亿美元,成为亚洲第一。回首过去...
  • csdnsevenn
  • csdnsevenn
  • 2017年11月26日 00:00
  • 217

测试工程师成长之路

测试工程师 china development labs CDL简介 邮箱 了解测试的历史以及测试行业的发展 测试工作量是很轻吗?和coding相...
  • chengyangyy
  • chengyangyy
  • 2013年11月21日 17:58
  • 1358

一个JAVA程序员成长之路分享

我搞JAVA也有些日子了, 因为我比较贪玩,上进心不那么强, 总是逼不得已为了高薪跳槽才去学习, 所以也没混成什么大牛, 但好在现在也已经成家立业, 小日子过的还算滋润, 起码顶得住一月近万元的吃喝拉...
  • u013659231
  • u013659231
  • 2017年05月26日 16:18
  • 4710

过来人告诉我php成长之路

对于PHP,很多朋友抱怨发展问题,能力问题。还有自己以后的发展及薪水问题。还有一些口吻就是PHP不行,不适合大型架构等等。快下班了,作为一个开发PHP已经6年多了老鸟,在这里随意说上几句。希望能对那些...
  • coomon2000
  • coomon2000
  • 2007年09月05日 13:52
  • 1131

从工程师到Leader成长之路

一、找准兴趣点:认识自己 作为新手程序猿,首先要清楚的认识到,从什么开始做起,才能让自己觉得,工作,是一件非常开心的事情! 作为技术工程师,能选择作为职业方向的也不少,比如: Web前端工程师(...
  • fish_study_csdn
  • fish_study_csdn
  • 2016年04月09日 22:36
  • 1137

第14期《成长之路》2017年9月刊

1. 虚拟机与VMware-刘兵
  • TGBBlog
  • TGBBlog
  • 2017年09月06日 17:31
  • 872

《内外兼修:程序员的成长之路》

1.最近笔者读了这样一本书,总的来说还是比较有意思2.主要记得的内容有三个方面:首先是现在技术方向和计算机行业的就业方向;其次是利用开源程序框架加快开发和相关的工具;最后就是讲了工作中的团队精神,说明...
  • qq_25327609
  • qq_25327609
  • 2017年03月29日 09:07
  • 3159
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IOS成长之路-JSON解析
举报原因:
原因补充:

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