我正在考虑在我的应用程序中添加距离计算器。我一直在查看 Google 的 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"];'
}
我该去哪里?
任何帮助都会很棒。
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"];
祝你好运。
最简单的方法是创建一个字典迭代器,并循环遍历 luckynumbers 字典有哪些子元素,您可以打印出来或调试,以查看这些子元素的键是什么,以及它们是什么类型。
我使用这种技术几次来弄清楚我返回的 XML 文档的结构是什么样的。