Я хочу использовать Google Distance Matrix API, чтобы получить продолжительность, необходимую для перемещения между двумя точками. Но когда я пытаюсь получить длительность из возвращенных данных (JSON в кодировке), метод getJSONArray всегда возвращает ноль.
Вот данные, отправленные Google:
{
"destination_addresses" : [ "Rome, Metropolitan City of Rome, Italy" ],
"origin_addresses" : [ "Berlin, Germany" ],
"rows" : [
{
"elements" : [
{
"distance" : {
"text" : "1,501 km",
"value" : 1501458
},
"duration" : {
"text" : "15 hours 5 mins",
"value" : 54291
},
"status" : "OK"
}
]
}
],
"status" : "OK"
}
И здесь это метод для получения продолжительности:
public static int getDurationFromJSON(String json){
try {
JSONObject jsonObj = new JSONObject(json)
.getJSONArray("rows")
.getJSONObject(0)
.getJSONArray ("elements")
.getJSONObject(0)
.getJSONObject("duration");
return (int)(jsonObj.getInt("value") / 60.0f + 0.5f);
} catch (Exception e) {
e.printStackTrace();
}
return -1;
}
getJSONArray ("lines") возвращает ноль.