我想从地理编码网址获取status元素的值。
{
"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"
}
我可以使用以下代码获得纬度。我试图获取状态元素,但仍然没有弄清楚如何做到这一点。我使用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();
请帮忙。
答案 0 :(得分:2)
您可以使用
String status = jsonParser.parse(output).getAsJsonObject().get("status").getAsString();
但请确保仅解析输出一次,即将jsonParser.parse(output).getAsJsonObject()
的结果存储在局部变量中。