我正在从谷歌地图上提取一些数据,但我似乎不能用它做任何事情。下面是我的代码:
- (void)connectionDidFinishLoading:(NSURLConnection *)theConnection {
//do something with the data!
NSError *e = nil;
//parse the json data
NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData: receivedData options: NSJSONReadingMutableContainers error: &e];
//get the lat and long and put it into an array
locationData = [[NSMutableArray alloc] init];
NSLog(@"%@", [jsonArray objectAtIndex:0]);
}
- (void)connectionDidFinishLoading:(NSURLConnection *)theConnection {
//do something with the data!
NSError *e = nil;
//parse the json data
NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData: receivedData options: NSJSONReadingMutableContainers error: &e];
//get the lat and long and put it into an array
locationData = [[NSMutableArray alloc] init];
for(NSDictionary* thisLocationDict in jsonArray) {
NSString* location = [thisLocationDict objectForKey:@"results"];
[locationData addObject:location];
}
}
-[__NSCFString objectForKey:]: unrecognized selector sent to instance 0x798a270
http://maps.googleapis.com/maps/api/geocode/json?address=2900+Horizon+Drive+King+of+Prussia+,+PA&sensor=false
你知道我做错了什么吗?
与从google获得的数据的不同之处在于,它是按键分开的,比如results、geometome、formatted_address
...
您应该这样做:
NSError *error;
NSString *lookUpString = [NSString stringWithFormat:@"http://maps.googleapis.com/maps/api/geocode/json?address=%@&components=country:AU&sensor=false", self.searchBar.text];
lookUpString = [lookUpString stringByReplacingOccurrencesOfString:@" " withString:@"+"];
NSData *jsonResponse = [NSData dataWithContentsOfURL:[NSURL URLWithString:lookUpString]];
NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:jsonResponse options:kNilOptions error:&error];
self.locationArray = [[jsonDict valueForKey:@"results"] valueForKey:@"formatted_address"];
int total = self.locationArray.count;
NSLog(@"locationArray count: %d", self.locationArray.count);
for (int i = 0; i < total; i++)
{
NSString *statusString = [jsonDict valueForKey:@"status"];
NSLog(@"JSON Response Status:%@", statusString);
NSLog(@"Address: %@", [self.locationArray objectAtIndex:i]);
}
问题内容: 我正在使用Java和XStream通过http解析Google地理编码请求。我的想法是拥有一个具有所有地理编码属性(例如纬度/经度,城市,省/州等)的Address类,但是我在使用xstream解析xml时遇到了问题。 Google的回应与此类似: 不能很好地显示出来,但是代码的内容在AddressDetails标记中。 无论如何,我是Java和XStream的新手,所以API术语对我
问题内容: 这是进入一个位置时可以得到纬度和经度的代码。我相信我的代码是我所知。但是进入一个位置后,我得到了空白页。 这是代码: 问题答案: 您正在尝试在此处使用JSONP。 JSONP 如果URL包含字符串“ callback =?” (或类似,由服务器端API定义),则将request>视为JSONP。有关更多详细信息,请参见$ .ajax()中有关jsonp数据类型的讨论。 重要提示:从jQ
问题内容: 我有一个充满地址的数据库,我需要获取经纬度,并且需要很长一段时间,因此我想遍历它们并使用Google Geocode更新我的数据库。我对如何解析JSOn结果以获取所需信息感到困惑: 我以为我可以简单地建立一个快速的类,并使用JSON.Net对结果进行反序列化,这是可行的,但是我想在类结构中使用它: 以下是Google返回的示例: 我在这里想念简单,有人吗? 问题答案: 我尝试了一下,做
问题内容: 我在iOS中有一个JSON字符串作为NSString对象。我想对此进行解析并提取JSON字符串中的给定参数。有没有一种有效的方法来解析此内容,或者是搜索子字符串等的唯一方法? 问题答案: 使用iOS 5的方法是使用类。您将需要首先将字符串转换为NSData对象,然后调用类方法 请注意,这将返回NSDictionary或NSArray,具体取决于您的JSON字符串表示字典还是数组。
问题内容: 我用下面的Perl代码来解析在JSON数组,使用模块。但是返回的数组长度为1,我无法对其进行正确的迭代。所以问题是我无法使用返回的数组。 输出结果为: 问题答案: 该函数返回一个arrayref而不是一个列表。您必须取消引用它才能获取列表: 您可能需要阅读和
问题内容: 我正在为现有网站创建一个应用程序。他们目前具有以下格式的JSON: 他们使用Java脚本将\字符转义后解析。 我的问题是当我使用以下命令在iOS中解析它时: 并这样做: 而不是我得到了对象。 该网站已经投入生产,所以我不能要求他们更改现有结构以返回适当的对象。对他们来说,这将是很多工作。 因此,在他们改变基础结构之前,有什么方法可以使它们像在它们上面一样地工作吗? 任何帮助/建议对我都