Ios 在URL objective-c中将JSON作为参数传递
我有以下web服务url:Ios 在URL objective-c中将JSON作为参数传递,ios,json,web-services,rest,nsurlconnection,Ios,Json,Web Services,Rest,Nsurlconnection,我有以下web服务url: NSString *url = @"https://api.parse.com/1/classes/Cinema?keys=name,rows,column&where={\"location\":{\"__type\":\"Pointer\",\"className\":\"Location\",\"objectId\":\"gSEpGR28iT\"}}"; 此处,的参数,其中本身为JSON格式 问题是,当我使用以下代码使用此web服务时,它会出现错误:
NSString *url = @"https://api.parse.com/1/classes/Cinema?keys=name,rows,column&where={\"location\":{\"__type\":\"Pointer\",\"className\":\"Location\",\"objectId\":\"gSEpGR28iT\"}}";
此处,的参数,其中
本身为JSON格式
问题是,当我使用以下代码使用此web服务时,它会出现错误:
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:url]];
request.HTTPMethod = @"GET";
[request addValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request addValue:PARSE_APPLICATION_ID_VALUE forHTTPHeaderField:PARSE_APPLICATION_ID_KEY];
[request addValue:PARSE_REST_ID_VALUE forHTTPHeaderField:PARSE_REST_ID_KEY];
[NSURLConnection sendAsynchronousRequest:command.request
queue:self.operationQueue
completionHandler:^(NSURLResponse *response,
NSData *data,
NSError *error)
{
...
}]
错误:错误域=NSURLErrorDomain代码=-1002“不支持的URL”
UserInfo={NSUnderlyingError=0x7c989590{Error
域=KCFerrorDomainCFN网络代码=-1002“不支持的URL”
UserInfo={NSLocalizedDescription=不支持的URL}},
NSLocalizedDescription=不支持的URL}
如果我使用相同的web服务而没有
where
参数,即仅https://api.parse.com/1/classes/Cinema?keys=name,行,列
代码工作正常。我不知道为什么json格式的参数会导致问题。任何帮助都将不胜感激。谢谢。可能是因为字符“&”?的缘故,但如果我在rest客户端扩展上测试它,它就可以正常工作了。我认为iOS不允许字符串中包含两个字符。我想你需要补充一些东西。。。尝试添加%@是的,您可能需要进行一些URL参数编码。可能是因为字符“&”?但如果我在rest客户端扩展上测试它,它就可以正常工作。我认为iOS不允许字符串中包含两个字符。我想你需要补充一些东西。。。尝试添加%@是的,您可能需要进行一些URL参数编码。