1.发送post请求
//发送post 请求
+(NSString*)sendPostRequest:(NSString *)postpath :(NSMutableString *)postParameter{
//postpath==post地址,postparameter==post参数
NSString *action=postpath;
NSURL *url2 = [NSURL URLWithString:action];
//第二步,创建请求
NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:url2
cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
[request setHTTPMethod:@"POST"];//设置请求方式为POST,默认为GET
NSString *str = postParameter;//设置参数
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
[request setHTTPBody:data];
//第三步,连接服务器
NSData *received = [NSURLConnection sendSynchronousRequest:request
returningResponse:nil error:nil];
NSString *str1 = [[NSString alloc]initWithData:received encoding:NSUTF8StringEncoding];
return str1;
}
2.下载文件
//下载文件并保存
+(void)downloadFile:(NSString *)urlstr : (NSString *)savePath{
NSURL *url=[NSURL URLWithString:urlstr];
NSURLRequest *request=[NSURLRequest requestWithURL:url];
NSError *error=nil;
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&error];
if([data length]>0)
{
NSLog(@"下载成功");
if([data writeToFile:savePath atomically:YES]){
NSLog(@"保存成功");
}else{
NSLog(@"保存失败");
}
}
else
{
NSLog(@"下载失败,失败原因:%@",error);
}
}
解析以下的json数据。
{"page":"1","total":"3","records":"24","product_list":[{"product_id":"29","product_name":"\u4e2d\u878d\u8d44\u4ea7-\u878d\u6e561\u53f7","term":"12","revenue_rate_min":"9.00","revenue_rate_max":"9.50","investment_domain_name":"\u57fa\u7840\u8bbe\u65bd\u7c7b","payment_name":"\u534a\u5e74\u4ed8\u606f","region_name":"\u6c5f\u6d59\u6caa","fee":null,"progress":"0","status":"1","recommend_flag":"1","hot_flag":"0"},{"product_id":"28","product_name":"\u4e2d\u878d\u4fe1\u6258-\u878d\u65b0\u53d1\u5c551\u53f7","term":"12","revenue_rate_min":"10.00","revenue_rate_max":"10.30","investment_domain_name":"\u91d1\u878d\u5e02\u573a\u7c7b","payment_name":"\u6309\u5e74\u4ed8\u606f","region_name":"\u5176\u4ed6\u5730\u533a","fee":null,"progress":"0","status":"2","recommend_flag":"1","hot_flag":"1"},{"product_id":"27","product_name":"\u8d22\u901a\u8d44\u4ea7-\u798f\u665f\u94b1\u9686\u5b66\u5e9c","term":"12","revenue_rate_min":"10.50","revenue_rate_max":"11.50","investment_domain_name":"\u623f\u5730\u4ea7\u7c7b","payment_name":"\u534a\u5e74\u4ed8\u606f","region_name":"\u73e0\u4e09\u89d2","fee":null,"progress":"0","status":"2","recommend_flag":"1","hot_flag":"1"}],"code":"0"}
dispatch_async(dispatch_get_global_queue(0, 0), ^{
NSString *url=myDelegate.cp_list;
NSMutableString *postParameter2= [NSMutableString string];
[postParameter2 appendString:@"recommend_flag=1"];
[postParameter2 appendString:@"&page="];
[postParameter2 appendString:@"1"];
NSString *response=[self sendPostRequest:url :postParameter2];
// NSLog(@"_jsonContent==%@",response);
NSMutableDictionary *data = [response objectFromJSONStringWithParseOptions:JKParseOptionLooseUnicode];
dispatch_async(dispatch_get_main_queue(), ^{
self.listData=[data objectForKey:@"product_list"];
NSLog(@"self.listdata=%lu",(unsigned long)self.listData.count);
[self.tableView reloadData];
[self.tableView headerEndRefreshing];
});
});
NSMutableDictionary * dict = self.listData[0];//json数据中有多组数据,所以取product_list的一个数组
NSString *jsonStr1=[dict objectForKey:@"product_name"];
NSString *jsonStr2=[dict objectForKey:@"term"];
NSString *jsonStr3=[dict objectForKey:@"revenue_rate_min"];
NSString *jsonStr4=[dict objectForKey:@"revenue_rate_max"];
NSString *jsonStr5=[dict objectForKey:@"status"];
NSString *jsonStr6=[dict objectForKey:@"investment_domain_name"];
NSString *jsonStr7=[dict objectForKey:@"payment_name"];
NSString *jsonStr8=[dict objectForKey:@"region_name"];
//假如整个json就是一个数组
NSDictionary *data = [response objectFromJSONString];
[data objectForKey:@"product_url"];
//直接取值就行了
====================================================================================================
个人观点,有不同意见可一起交流
By:渣蜀黍