如何从iphone上的Google Directions JSON文件中提取距离

时间:2012-02-15 00:46:01

标签: iphone objective-c json google-maps-api-3

我很难从Google Directions请求中获取的JSON文件中提取我需要的单个值。

发送请求后,我得到类似的内容:

{
   "routes" : [
      {
         "bounds" : {
            "northeast" : {
               "lat" : 31.831330,
               "lng" : 34.834710
            },
            "southwest" : {
               "lat" : 31.25299000000001,
               "lng" : 34.653460
            }
         },
         "copyrights" : "Map data ©2012 Mapa GISrael",
         "legs" : [
            {
               "distance" : {
                  "text" : "85.6 km",
                  "value" : 85613",
               },

但我唯一想要的是距离值(路线/腿/距离/值), 有没有人知道如何从JSON文件中提取这个值?

1 个答案:

答案 0 :(得分:1)

首先,这似乎没有格式化的JSON,有一个试验“在距离的值之后。

大多数JSON框架都会以最合适的类型为您提供对象。字典将转换为NSDictionary,列表将转换为NSArray。

要获取上述JSON中的路由距离,您可以使用众多库中的一个将JSON解析为NSDictionary,然后您将执行以下操作:

NSNumber * distance = [[[[[[parsedDict objectForKey:@“routes”] objectAtIndex:0] objectForKey:@“legs”] objectAtIndex:0] objectForKey:@“distance”] objectForKey @“value”];

看看是否有效。