我正在考虑在我的应用程序中添加距离计算器。我一直在看谷歌的API,我似乎无法解码JSON。我已经设法用PHP这样做了。代码是:
substr($convertedtoarray['routes']['0']['legs']['0']['distance']['text'], 0, -3);
在iPhone上,我设法获得了JSON响应,但无法获得我想要的特定部分。
Json地址:http://maps.googleapis.com/maps/api/directions/json?origin=plymouth&destination=pl210bp&sensor=false
NSMutableDictionary *luckyNumbers = [responseString JSONValue];
[responseString release];
if (luckyNumbers != nil) {
NSString *responseStatus = [luckyNumbers objectForKey:@"routes"];'
}
我从哪里开始?
任何帮助都会是很棒的欢呼声
答案 0 :(得分:0)
最简单的方法是创建一个字典迭代器,并循环遍历luckynumbers字典中的子节点,您可以打印或调试,以查看这些子节点的键是什么,以及它们是什么对象类型
我使用这种技术几次来弄清楚我正在返回的XML文档的结构是什么样的。
答案 1 :(得分:0)
NSString *responseStatus = [[[[[[luckyNumbers objectForKey:@"routes"]objectAtIndex:0] objectForKey:@"legs"]objectAtIndex:0] objectForKey:@"distance"] objectForKey:@"text"];
非常丑陋,你可以在这样的单独对象中提取:
NSArray *routesArray = [luckyNumbers objectForKey:@"routes"];
NSDictionary *firstRoute = [routesArray objectAtIndex:0];
NSArray *legsArray = [firstRoute objectForKey:@"legs"];
NSDictionary *firstLeg = [legsArray objectAtIndex:0];
NSDictionary *distanceDict = [firstLeg objectForKey:@"distance"];
NSString *distanceText = [distanceDict objectForKey:@"text"];
祝你好运。