如何在 iOS 中解析 mapquest 地理编码 JSON
Posted
技术标签:
【中文标题】如何在 iOS 中解析 mapquest 地理编码 JSON【英文标题】:How to parse mapquest geocode JSON in iOS 【发布时间】:2013-07-23 21:15:12 【问题描述】:我正在尝试解析来自 Mapquest 地理编码 API 的 JSON 结果。
NSDictionary *JSONReponseDic = [NSJSONSerialization JSONObjectWithData:mapquestdata options:0 error:&error];
NSMutableArray *resultsArray = [JSONReponseDic objectForKey:@"results"];
NSDictionary *locationDic = [resultsArray objectAtIndex:0];
NSLog(@"loc dic %@", locationDic);
NSString *city = [locationDic objectForKey:@"adminArea5"];
NSLog(@"city : %@", city);
我可以解析直到locationDic,它返回
loc dic
locations = (
adminArea1 = US;
adminArea1Type = Country;
adminArea3 = CA;
adminArea3Type = State;
adminArea4 = "Santa Clara County";
adminArea4Type = County;
adminArea5 = "Los Altos";
adminArea5Type = City;
displayLatLng =
lat = "37.37964";
lng = "-122.11877";
;
dragPoint = 0;
geocodeQuality = POINT;
geocodeQualityCode = P1AAA;
latLng =
lat = "37.37949";
lng = "-122.11903";
;
linkId = 0;
mapUrl = "http://www.mapquestapi.com/staticmap/v4/getmap?key=Fmjtd|luub206tl1,rg=o5-9ubah0&type=map&size=225,160&pois=purple-1,37.37949,-122.11903,0,0|¢er=37.37949,-122.11903&zoom=15&rand=-159915059";
postalCode = "94022-2707";
sideOfStreet = R;
street = "145 1st St";
type = s;
);
providedLocation =
location = "145 1st St,Los Altos, CA 94022";
;
然后,当我尝试获取城市名称时,日志返回 null。我的解析方式正确吗?
【问题讨论】:
【参考方案1】:应该是[locationDic valueForKeyPath:@"locations.adminArea5"];
。
【讨论】:
我做了NSString *city = [locationDic objectForKey:@"locations.adminArea5"];
,它仍然返回NULL
查看我编辑的答案。我是凭记忆写的,正确的方法是valueForKeyPath:
而不是objectForKey:
。
谢谢。 valuekeyforpath 似乎可以完成这项工作。
没问题,用 Yelp API 检查你的其他问题,我刚刚回答了。
:facepalm: 抱歉。在这里超越自己。以上是关于如何在 iOS 中解析 mapquest 地理编码 JSON的主要内容,如果未能解决你的问题,请参考以下文章
从 python 列表中删除邮政编码(从 MapQuest 输出中获取州名)