0

我的网址是http://sample_domain/sample.json?{ "language" : "en", "category" : "sports"}

我将其转换为 NSURL 对象,如下所示。

NSURL *url=[NSURL URLWithString:@"http://sample_domain/sample.json?{ "language" : "en", "category" : "sports"}"];

它返回 nil 到 NSURL 对象,我知道 URL 应该是苹果文档中的特定格式,否则它将被视为恶意软件站点并返回 nil 对象,

我的问题是我如何通过苹果标准来传递这些参数,这样它就不会返回 nil 对象。

提前致谢。

4

1 回答 1

1

尝试

NSURL *url=[NSURL URLWithString:[@"http://sample_domain/sample.json?{ \"language\" : \"en\", \"category\" : \"sports\"}"
                  stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

我不确定为什么在您的示例中没有转义 '"' 字符,但我认为没有转义您的代码不应该编译。

您还需要(这是主要问题)用相应的百分比转义替换 url 中非法的字符(例如 ':' - 这就是 stringByAddingPercentEscapesUsingEncoding 函数所做的。

于 2010-12-23T12:00:10.637 回答