您的位置:首页 > 移动开发 > IOS开发

IOS接口请求传递JSON参数

2014-11-27 12:23 239 查看
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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: