2012-12-29 24 views
0

我想从地理编码url获取状态元素的值。如何从地理编码url获取状态元素

{ 

    "results": [ 
     { 
      "address_components": [ 
       { 
        "long_name": "India", 
        "short_name": "IN", 
        "types": [ 
         "country", 
         "political" 
        ] 
       } 
      ], 
      "formatted_address": "India", 
      "geometry": { 
       "bounds": { 
        "northeast": { 
         "lat": 35.5043404, 
         "lng": 97.395555 
        }, 
        "southwest": { 
         "lat": 6.747138899999999, 
         "lng": 68.1623859 
        } 
       }, 
       "location": { 
        "lat": 20.593684, 
        "lng": 78.96288 
       }, 
       "location_type": "APPROXIMATE", 
       "viewport": { … } 
      }, 
      "types": [ 
       "country", 
       "political" 
      ] 
     } 
    ], 
    "status": "OK" 

} 

我可以使用下面的code.i试图让状态元素得到自由,但仍然coudn't弄清楚如何做it.here我使用GSON。

URL url = new URL("http://maps.googleapis.com/maps/api/geocode/json?address=india&sensor=false"); 

    String output = new Scanner(url.openStream()).useDelimiter("\\A").next(); 
    JsonParser jsonParser = new JsonParser(); 
    JsonObject lat = jsonParser.parse(output).getAsJsonObject().getAsJsonArray("results").get(0).getAsJsonObject().getAsJsonObject("geometry").getAsJsonObject().getAsJsonObject("location"); 
    String latitude = lat.get("lat").getAsString(); 

请帮助。

回答

2

你可以使用

String status = jsonParser.parse(output).getAsJsonObject().get("status").getAsString(); 

但一定要分析你的输出只有一次,即jsonParser.parse(output).getAsJsonObject()结果存储在一个局部变量。

+0

非常感谢,它的工作:) – ishk

相关问题