我必须解析JSON API的返回,我已经将URL作为一个字符串,然后我将它传递给NSURL,但是在NSLog中它显示为nil。 这是我的代码,
NSString *urlstring=[NSString stringWithFormat:@"http://api.v3.factual.com/t/places?q=%@&geo={\"$circle\":{\"$center\":[19.9909631,73.8034808],\"$meters\":40000}}&limit=20&KEY=123456",[self.strurl lowercaseString]];
NSURL *url=[[NSURL alloc]initWithString:urlstring ];
NSURLRequest *req = [NSURLRequest requestWithURL:url];
提前致谢。
答案 0 :(得分:1)
您必须对您的网址进行编码,因为它包含特殊字符,请尝试使用此类
NSString *paramString=[NSString stringWithFormat:@"/t/places?q=%@&geo={\"$circle\":{\"$center\":[19.9909631,73.8034808],\"$meters\":40000}}&limit=20&KEY=123456",[self.strurl lowercaseString]];
NSString *encodedSearchString = [paramString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *urlString = [NSString stringWithFormat:@"http://api.v3.factual.com%@", encodedSearchString];
NSURL *url = [NSURL URLWithString:urlString];
NSLog(@"urlstring is %@",url)
希望这有帮助
答案 1 :(得分:0)
试试,测试和工作
-(void) sample
{
// NSString *strurl = @"hello";
NSString *urlstring=[NSString stringWithFormat:@"http://api.v3.factual.com/t/places?q=%@&geo={\"$circle\":{\"$center\":[19.9909631,73.8034808],\"$meters\":40000}}&limit=20&KEY=123456",[strurl lowercaseString]];
NSURL *url=[NSURL URLWithString:[urlstring stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSURLRequest *req = [NSURLRequest requestWithURL:url];
NSLog(@"%@",req);
}