IOS成长之路-JSON解析
来源:互联网 发布:天音淘宝店铺 编辑:程序博客网 时间:2024/06/06 00:04
json数据:
- {
- "result": [
- {
- "meeting": {
- "addr": "203",
- "creator": "张一",
- "member": [
- {
- "name": "张二",
- "age": "20"
- },
- {
- "name": "张三",
- "age": "21"
- },
- {
- "name": "张四",
- "age": "22"
- }
- ]
- }
- },
- {
- "meeting": {
- "addr": "204",
- "creator": "张二",
- "member": [
- {
- "name": "张二",
- "age": "20"
- },
- {
- "name": "张三",
- "age": "21"
- },
- {
- "name": "张四",
- "age": "22"
- }
- ]
- }
- }
- ]
- }
1、获取json文件路径,根据路径来获取里面的数据:
- NSString *path=[[NSBundle mainBundle] pathForResource:@"test" ofType:@"json"];
- NSString *_jsonContent=[[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
2、然后根据得到的_jsonContent字符串对象来获取里面的键值对:
- NSMutableDictionary dict=[_jsonContent JSONValue];//我们不需要去定义获取的方法,使用系统定义好的JSONValue即可
3、然后根据得到的键值对来进行JSON解析:
- /*
- 根据上面json数据之间的逻辑关系,可以获知我们解析的顺序:
- 1. 根据得到的字符串获取里面的键值对,
- 2. 根据得到的键值对通过key来得到对应的值,也就是值里面的数组,
- 3. 然后获取数组中的键值对,
- 4. 然后根据得到的键值对通过key获取里面的键值对中的值
- */
- //json解析
- //2.
- NSArray *result=[_dict objectForKey:@"result"];
- //3.
- NSDictionary *dic=[result objectAtIndex:0];
- //4.
- NSDictionary *meeting=[dic
- objectForKey:@"meeting"];
- //得到 addr 值
- NSString *address = [meeting objectForKey:@"addr"];
- //得到 creator 值
- NSString *creator = [meeting objectForKey:@"creator"];
- //得到 member 里面的数据,因为这个键值中有数组,所以要重复上面的2,3,4的动作
- //2.
- NSArray *members=[meeting objectForKey:@"member"];
- //3.
- //这里用了for循环语句,
- for (NSDictionary * member in members) {
- //4.
- NSString *name = [member objectForKey:@"name"];
- NSString *age = [member objectForKey:@"age"];
- }
这样就可以实现解析json数据了。。。
- IOS成长之路-JSON解析
- IOS成长之路-JSON解析
- IOS成长之路-JSON解析
- IOS成长之路-解析xml数据
- IOS成长之路-解析xml数据
- iOS解析之Json解析
- IOS成长之路-用NSXMLParser实现XML解析
- IOS成长之路
- iOS json解析之SBJson
- IOS数据解析之json
- iOS之JSONKit解析JSON
- iOS数据解析之json
- iOS之 json数据解析
- iOS开发之json解析
- ios解析之json相关
- IOS成长之路-NSDate
- IOS成长之路-NSDate
- IOS成长之路-NSDate
- eclipse上hdfs的javaapi调用文件或者获取节点信息没有权限
- QT中QMessageBox设计选择框
- AndroidAnnotations——Enhancing the Application class优化Application类
- 面试知识点总结之c++基础(二)
- 强大的vim配置文件,让编程更随意
- IOS成长之路-JSON解析
- jquery对象与js对象的相互转换
- 杨辉三角
- 关于popwindow的简单实例
- Ubuntu安装mongodb
- C#利用委托实现窗体间的值传递 .
- 手机充电管理设计关键及主流方案分析
- AndroidAnnotations——Enhance services优化服务
- hdu 2955 Robberies