IOS接口请求传递JSON参数
2017-02-10 15:12
302 查看
iOS实际上web请求参数中是可以传递中文和JSON的,只要对其进行转义就OK
但是一定要注意在请求地址的前面加上http://
1.先定义请求字符串,给字符串幅值,然后再用stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding将请求参数转义,然后再把字符串定义为NSURL
NSString *urlStr=[NSString stringWithFormat:@"http://192.168.1.53:8080/MJServer/login?username=%@&pwd=%@",self.username.text,self.pwd.text];
//转码
urlStr= [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url=[NSURL URLWithString:urlStr];
// 2.创建请求对象
NSURLRequest *request=[NSURLRequest requestWithURL:url];
2.json传递时可以用字典
NSString *urlString = @"http://192.168.1.53:8080/MJServer/login";
NSDictionary *param = @{@"phone":@""};
urlString = [urlString stringByAppendingString:[self toJSONString:param]];
urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"hhhhh......%@",urlString);
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url];
[urlRequest setHTTPMethod:@"GET"];
[urlRequest setTimeoutInterval:30.0f];
NSLog(@"哼哼。。%@",urlRequest);
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[NSURLConnection sendAsynchronousRequest:urlRequest queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
if ([data length] > 0 && connectionError == nil) {
NSString *html = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"呵呵。。。%@",html);
}
else if ([data length] == 0 && connectionError ==nil ) {
NSLog(@"Nothing was downloaded!");
}
else {
NSLog(@"%@",connectionError);
}
}];
}
//这个函数就是将字典封装成转义的JSON字符串
- (NSString *)toJSONString:(NSDictionary *)dict
{
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&error];
NSString *str = [[NSString alloc]initWithData:jsonData encoding:NSUTF8StringEncoding];
str = [NSString stringWithFormat:@"%@",str];
return str;
}
但是一定要注意在请求地址的前面加上http://
1.先定义请求字符串,给字符串幅值,然后再用stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding将请求参数转义,然后再把字符串定义为NSURL
NSString *urlStr=[NSString stringWithFormat:@"http://192.168.1.53:8080/MJServer/login?username=%@&pwd=%@",self.username.text,self.pwd.text];
//转码
urlStr= [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url=[NSURL URLWithString:urlStr];
// 2.创建请求对象
NSURLRequest *request=[NSURLRequest requestWithURL:url];
2.json传递时可以用字典
NSString *urlString = @"http://192.168.1.53:8080/MJServer/login";
NSDictionary *param = @{@"phone":@""};
urlString = [urlString stringByAppendingString:[self toJSONString:param]];
urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"hhhhh......%@",urlString);
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url];
[urlRequest setHTTPMethod:@"GET"];
[urlRequest setTimeoutInterval:30.0f];
NSLog(@"哼哼。。%@",urlRequest);
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[NSURLConnection sendAsynchronousRequest:urlRequest queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
if ([data length] > 0 && connectionError == nil) {
NSString *html = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"呵呵。。。%@",html);
}
else if ([data length] == 0 && connectionError ==nil ) {
NSLog(@"Nothing was downloaded!");
}
else {
NSLog(@"%@",connectionError);
}
}];
}
//这个函数就是将字典封装成转义的JSON字符串
- (NSString *)toJSONString:(NSDictionary *)dict
{
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&error];
NSString *str = [[NSString alloc]initWithData:jsonData encoding:NSUTF8StringEncoding];
str = [NSString stringWithFormat:@"%@",str];
return str;
}
相关文章推荐
- IOS接口请求传递JSON参数
- iOS网络请求参数以JSON的格式上传
- java Http中put请求传递参数调用接口
- SpringMVC 开发接口实例+json参数传递
- 一个项目调用另一个项目接口,传递json参数
- jersey webService客户端发送put请求并传递json参数
- java restassured接口自动化测试之请求参数为json
- 1:HTML 中 onclick 触发函数 xxx(param) 要传递对象参数的解决方法 2:LocalStorage存储JSON对象的问题 3:ajax请求传送参数为对象问题
- SpringMVC中使用Ajax POST请求以json格式传递参数服务端通过request.getParameter("name")无法获取参数值问题分析
- ajax跨域请求springmvc传递json对象参数
- 关于向后台请求数据(get请求,无参数传递),返回html代码(实际需要返回的是json数据)的解决方案
- jmeter传递json串,即:post请求没参数名,运行时报415错误
- Java Post请求 传递Json参数
- Ios 设置网络请求参数为json格式
- axis2 webservice 接口请求(json对象组装参数请求(用于对象请求)、多个参数请求、阿里巴巴json工具使用)
- Jersery Restful接口服务接收JSON对象的参数请求
- iOS 网络请求中Json当参数
- JAVA接口传递参数(POST),从接口接收数据(JSON)
- SpringMVC中使用Ajax POST请求以json格式传递参数服务端通过request.getParameter("name")无法获取参数值问题分析
- 两页面之间 转发请求,传递参数