我正在尝试登录服务器,但收到一个错误。我使用SBJSON将请求转换为JSON,并将其从JSON转换回字符串,并且我使用一个方法进行所有API调用。我四处寻找解决办法,但什么也找不到。下面是我用来登录的方法:
+ (void)requestFromUrl:(NSString *)urlString withType:(NSString *)type withBody:(NSDictionary *)dict
{
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:type];
if(dict)
{
NSString *jsonString = [dict JSONRepresentation];
NSData *jsonData = [jsonString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:true];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:jsonData];
}
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error)
{
if (error)
{
NSLog(@"Error retrieving data: %@", error.description);
}
else
{
id result = [data JSONValue];
NSLog(@"Received responce: %@", result);
[[NSNotificationCenter defaultCenter] postNotificationName:@"ReceivedResponce" object:self userInfo:result];
}
}];有人能帮帮我吗?
发布于 2013-06-23 14:34:37
这样做:
NSData *jsonData = [jsonString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:true];进入:
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];看看能不能帮上忙。JSON必须是UTF8编码的,而不是ASCII码。
https://stackoverflow.com/questions/17240173
复制相似问题