一、添加ASIHttpRequest
方法:http://www.jb51.cc/article/p-yvppbqaw-tm.html
二、添加SBJson
SBJson的开放源码在github上托管。
三、以上工作完成之后,下面就是敲代码了
(1)首先加入头文件
#import "ASIHTTPRequest.h" #import "SBJson.h"
(2)Http请求
NSURL *url = [NSURL URLWithString:@"http://......."]; ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; [request setDelegate:self]; [request startAsynchronous]; //对应的同步请求[request startSynchronous];
-(void) requestFinished: (ASIHTTPRequest *) request { Nsstring *responseData = [request responseString]; //获得服务器response的数据 //解析Json数据.... }
(4)Json数据处理
(a)处理一条记录
测试用的字符串是:responseData =@"{\"user\":{\"id\":21,\"name\":\"xxx\"}}";
SBJsonParser * parser = [[SBJsonParser alloc] init]; NSError * error = nil; NSMutableDictionary *jsonDic = [parser objectWithString:responseString error:&error]; NSLog(@"%@",[jsonDic objectForKey:@"user" ]); NSMutableDictionary * dicUserInfo = [jsonDic objectForKey:@"user"]; NSLog(@"%@",[dicUserInfo objectForKey:@"id"]); NSLog(@"%@",[dicUserInfo objectForKey:@"name"]);
(b)处理多条记录
测试用的字符串是:
SBJsonParser * parser = [[SBJsonParser alloc] init]; NSError * error = nil; NSArray *memberList = [parser objectWithString:responseString error:&error]; for(NSDictionary *member in memberList) { NSLog(@"dibitsID = %d",[[member objectForKey:@"dibitsID"] integerValue]); NSLog(@"type = %d",[[member objectForKey:@"type"] integerValue]); NSLog(@"time = %@",[member objectForKey:@"updated"]); NSLog(@"\n"); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。