NSURL在发送JSON服务请求时返回null?

时间:2010-12-23 11:54:26

标签: objective-c nsstring request nsurl

我的网址是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应该是来自apple文档的特定格式,否则它将被视为恶意软件站点并返回nil对象,

我的问题是如何通过苹果标准传递这些参数,以便它不会重新调整nil对象。

提前致谢。

1 个答案:

答案 0 :(得分:1)

尝试

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

我不确定为什么'''字符在你的例子中没有被转义,但我认为没有逃脱你的代码不应该编译。

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