ios - 发送空格和点时 Json 崩溃

标签 ios objective-c json nsstring whitespace

我正在尝试请求一个 URL,但我收到错误提示

"Data parameter is nil".

我发现使用的变量有空格点(.)。我认为这是由 URL 引起的问题。那么有什么方法可以在不崩溃的情况下发送带有空格和点的 URL 吗?

NSURL *url = [[NSURL alloc]initWithString:[NSString stringWithFormat:@"192.168.1.5/mobileapp?/signin=%@&%@",username,password]];

NSError *errors;
NSData *data = [NSData dataWithContentsOfURL:url];

NSDictionary *json = (NSDictionary *)[NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&errors];

最佳答案

尝试使用 NSUTF8StringEncoding

NSString *myUnencodedString = [NSString stringWithFormat:@"192.168.1.5/mobileapp?/signin=%@&%@",username,password]
NSString *encodedString = [myUnencodedString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *myURL = [[NSURL alloc] initWithString:encodedString]

关于ios - 发送空格和点时 Json 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22171456/

相关文章:

ios - 使用自动布局逐渐显示表格 View 的单元格?

ios - 通过外键 (API) 保存/检索数据

javascript - 如何使用 JSON 数据创建动态表?

objective-c - 如何在 Objective-C 中更改鼠标光标

objective-c - NSTask - 执行 echo 命令

javascript - 语法错误: missing ) after argument list in javascript function with json response

json - postgresql 查询 json 的值(而不是键)?

ios - Swift/iOS13 - 来自自定义类的 UIApplication.shared.delegate.window?.rootViewController?.present()

ios - 自动续订订阅(应用内购买 - 服务器)

ios - 设置一个 plist 来存储 iPhone 游戏的应用程序数据(不是设置)