JSON 解析相关 知识
来源:互联网 发布:巫师2优化 编辑:程序博客网 时间:2024/05/18 01:35
Eg 1 : 从本地文件中读取json数据,然后读取到缓冲区。
- (void)jsonParse{ //初始化文件路径。 NSString* path = [[NSBundle mainBundle] pathForResource:@"nanjing" ofType:@"txt"]; //将文件内容读取到字符串中,注意编码NSUTF8StringEncoding 防止乱码, NSString* jsonString = [[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil]; //将字符串写到缓冲区。 NSData* jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; //解析json数据,使用系统方法 JSONObjectWithData: options: error: NSDictionary* dic = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil]; //接下来一步一步解析。知道得到你想要的东西。 NSArray* arrayResult =[dic objectForKey:@"results"]; NSDictionary* resultDic = [arrayResult objectAtIndex:0]; NSDictionary* geometryDic = [resultDic objectForKey:@"geometry"]; NSLog(@"geometryDic: %@, resultDic:%@",geometryDic,resultDic); NSDictionary* locationDic = [geometryDic objectForKey:@"location"]; NSNumber* lat = [locationDic objectForKey:@"lat"]; NSNumber* lng = [locationDic objectForKey:@"lng"]; NSLog(@"lat = %@, lng = %@",lat,lng); [jsonString release]; }
Eg 2 :使用网络路径来解析json,
- (void)jsonParse{ //初始化网络路径。 NSString* path = @"http://maps.googleapis.com/maps/api/geocode/json?address=nanjing&sensor=true"; //初始化 url NSURL* url = [NSURL URLWithString:path]; //将文件内容读取到字符串中,注意编码NSUTF8StringEncoding 防止乱码, NSString* jsonString = [[NSString alloc]initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil]; //将字符串写到缓冲区。 NSData* jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; //解析json数据,使用系统方法 JSONObjectWithData: options: error: NSDictionary* dic = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil]; //一下为自定义解析, 自己想怎么干就怎么干 NSArray* arrayResult =[dic objectForKey:@"results"]; NSDictionary* resultDic = [arrayResult objectAtIndex:0]; NSDictionary* geometryDic = [resultDic objectForKey:@"geometry"]; NSLog(@"geometryDic: %@, resultDic:%@",geometryDic,resultDic); NSDictionary* locationDic = [geometryDic objectForKey:@"location"]; NSNumber* lat = [locationDic objectForKey:@"lat"]; NSNumber* lng = [locationDic objectForKey:@"lng"]; NSLog(@"lat = %@, lng = %@",lat,lng); [jsonString release]; }
Eg 3 :使用网络路径来解析json 。 使用NSURLRequest 和NSURLConnection 请求网络数据。
- (void)jsonParse{ //初始化网络路径。 NSString* path = @"http://maps.googleapis.com/maps/api/geocode/json?address=nanjing&sensor=true"; //初始化 url NSURL* url = [NSURL URLWithString:path]; NSURLRequest* request = [NSURLRequest requestWithURL:url]; //将请求到的字符串写到缓冲区。 NSData* jsonData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; //解析json数据,使用系统方法 JSONObjectWithData: options: error: NSDictionary* dic = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil]; //一下为自定义解析, 自己想怎么干就怎么干 NSArray* arrayResult =[dic objectForKey:@"results"]; NSDictionary* resultDic = [arrayResult objectAtIndex:0]; NSDictionary* geometryDic = [resultDic objectForKey:@"geometry"]; NSLog(@"geometryDic: %@, resultDic:%@",geometryDic,resultDic); NSDictionary* locationDic = [geometryDic objectForKey:@"location"]; NSNumber* lat = [locationDic objectForKey:@"lat"]; NSNumber* lng = [locationDic objectForKey:@"lng"]; NSLog(@"lat = %@, lng = %@",lat,lng); }
0 0
- JSON 解析相关 知识
- JSON的相关知识
- json的相关知识
- json相关知识
- json相关知识介绍
- Telnet 相关知识解析
- java 解析JSON相关
- JAVA解析JSON相关
- JAVA解析JSON相关
- JAVA解析JSON相关
- JAVA解析JSON相关
- 关于JSON的相关知识
- 关于JSON的相关知识
- Package.json配置相关知识
- 知识储备:JSON数据解析
- JAVA解析生成JSON相关
- JSON解析的相关资源
- android json解析相关细节
- C++调用gSoap编写的WEBSERVICE与C#.NET间接口自定义结构体不能重复使用
- 从Jetty、Tomcat和Mina中提炼NIO构架网络服务器的经典模式
- poj 1655 树形DP
- CentOS虚拟机如何设置共享文件夹,并在Windows下映射网络驱动器?
- 观《那人那山那狗》有感
- JSON 解析相关 知识
- 数字图像处理—频域变换简单说明
- Dalvik字节码类型描述符
- 栈和列表的区别
- 给老板汇报技术规划的一些要点
- 源代码编译成托管代码托管代码合并成程序集
- 计算机网络一些基本疑问解答和基础常识(一)
- uva 239 小球钟
- TortoiseSVN使用简介