网络获取json解析
来源:互联网 发布:按option无法切换mac 编辑:程序博客网 时间:2024/05/21 11:03
JSON正逐步取代XML,成为网络数据的通用格式。
从ios5开始,使用NSJSONSerialization对JSON解析。还有第三方库,比如SBJson, JSONKit, TouchJson等。从性能上说,NSJSONSerizlization最好,JSONKit其次,SBJson使用较为广泛。
加载json文件:
- #pragma mark 加载json
- - (void)loadJson
- {
- NSLog(@"load json");
- //从web服务器加载数据
- NSString *str = @"http://www.baidu.com?format=json"; //这里是乱写的
- //提示:NSData本身具有同步方法,但是在实际开发中,不要使用次方法
- //在使用NSData的同步方法时,无法指定超时时间,如果服务器连接不正常,会影响用户体验。
- //NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:str]];
- //简历NSURL
- NSURL *url = [NSURL URLWithString:str];
- //建立NSURLRequest
- NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:2.0f];
- //建立NSURLConnect的同步方法加载数据
- NSURLResponse *response = nil;
- NSError *error = nil;
- //同步加载数据
- NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
- //错误处理
- if (data != nil) {
- //下面这两句话本身没有什么意义,仅用于跟踪调试。
- NSString *result = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
- NSLog(@"%@", result);
- //在处理网络数据的时候,不要将NSData转换成nsstring。
- [self handlerJSONData:data];
- }else if (data == nil && error == nil){
- NSLog(@"空数据");
- }else
- {
- NSLog(@"%@", error.localizedDescription);
- }
- }
- #pragma mark 处理json数据
- - (void)handlerJSONData:(NSData *)data
- {
- //json文件中的[]表示一个数据。
- //反序列化json数据
- /*
- 序列化: 将一个nsboject转换成序列数据,以便通过互联网进行传输。
- 反序列化:将网络上获取的数据反向生成我们需要的对象。
- */
- NSArray *array = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];
- NSLog(@"%@", array); //json解析以后是nsarray格式的数据。
- }
0 0
- 网络获取json解析
- 网络获取Json文件解析范例
- Android 网络获取数据之Json解析
- 获取网络json解析中的图片
- 获取网络json解析中的图片
- 获取网络Json格式数据-使用原生态解析Json
- 网络通信值获取和解析xml和json
- 从网络获取json并解析得简单天气预报实现
- java,android中网络数据获取和json解析
- AsyncHttp获取网络Json并解析小案例
- Json解析网络获取Viewpager图片glide下载图片
- 网络Json解析
- 网络编程:Json解析
- Json网络解析
- url解析网络json
- 网络请求,JSON解析
- 网络json解析
- iOS----解析网络json
- hdu5505(好题)
- 两个线程按特定时间顺序交替执行
- softMax(2)---predict实现
- hdu1251 统计难题 字典树
- 基站定位属性
- 网络获取json解析
- Linux vi指令详解
- Winpcap 链接 VS2013 小提示
- Insert & delte elements in doublely linked list
- JDBC-Java程序向mysql中插入数据的中文乱码
- Unity3d 协程、调用函数、委托
- 21.Plus One
- Android中的Context详解
- 响应式web设计--图片大小自适应的三种方法