无法从NSURL获取数据

时间:2013-05-20 17:45:27

标签: iphone objective-c nsurlconnection google-places-api nsurlrequest

我从google地方搜索网址获取结果,如果我搜索“Newyork”,一切正常。但如果我给“纽约”,结果json是不同的,我不能把它带到NSData。 这是我正在使用的网址:

https://maps.googleapis.com/maps/api/place/textsearch/json?query=New york& sensor = true& key = MY_KEY

我使用下面的代码来获取数据:

NSURL *googleURL = [NSURL URLWithString:url];  //url is above url
NSURLResponse *response;
NSData *data;

NSError    *error;

data = [NSURLConnection sendSynchronousRequest: [NSURLRequest
                                                 requestWithURL: googleURL]   returningResponse: &response error: &error];


NSLog(@"data %@",data);   // but I am getting null here

如何克服这个?提前致谢

1 个答案:

答案 0 :(得分:0)

假设url是:

NSString *url = @"https://maps.googleapis.com/maps/api/place/textsearch/json?query=New york&sensor=true&key=MY_KEY";

尝试使用:

NSURL *googleURL = [NSURL URLWithString:[url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

这将格式化包含空格的URL的字符串。要确认它是否正常工作,请将其打印到控制台。

NSLog(@"URL with Percent Escapes: %@", [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]);

它应该返回这样的东西(我相信空间的百分比逃逸是%20)。

URL with Percent Escapes: https://maps.googleapis.com/maps/api/place/textsearch/json?query=New%20york&sensor=true&key=MY_KEY