Код: Выделить всё
{
"geocoded_waypoints": [],
"routes": [
{
"bounds": {},
"copyrights": "Map data ©2024",
"legs": [
{
"distance": {
"text": "22.7 km",
"value": 22733
},
"duration": {
"text": "56 mins",
"value": 3358
},
"end_address": "B-14, opp. Defence Colony, near Lajpat Nagar Metro Station, Block A, Lajpat Nagar II, Lajpat Nagar, New Delhi, Delhi 110024, India",
"end_location": {},
"start_address": "C5M9+9XG, Southend Dr, Dera Village, Dera Mandi, New Delhi, Delhi 110074, India",
"start_location": {},
"steps": [],
"traffic_speed_entry": [],
"via_waypoint": []
}
],
"overview_polyline": {},
"summary": "SSN Marg",
"warnings": [],
"waypoint_order": []
}
],
"status": "OK"
}
- Расстояние – (текст: 22,7 км)
- Недлительность – (текст: 56 минут)
- конечный_адрес.
Код: Выделить всё
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, null,
new Response.Listener() {
@Override
public void onResponse(JSONObject response) {
try {
JSONArray jsonArray = response.getJSONArray("routes");
Type collectionType = new TypeToken[*]>(){}.getType();
List directionsApiResponseList =
new Gson().fromJson(jsonArray.toString(), collectionType);
Log.d("ABCDE", directionsApiResponseList.get(0).getLegsList().get(0).getEnd_address());
} catch (JSONException e) {
throw new RuntimeException(e);
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
requestQueue.add(jsonObjectRequest);
Код: Выделить всё
import java.util.List;
public class DirectionsApiResponse {
private List legsList;
public List getLegsList() {
return legsList;
}
public void setLegsList(List legsList) {
this.legsList = legsList;
}
}
class legs {
private distance distance;
private duration duration;
private String end_address;
public distance getDistance() {
return distance;
}
public void setDistance(distance distance) {
this.distance = distance;
}
public duration getDuration() {
return duration;
}
public void setDuration(duration duration) {
this.duration = duration;
}
public String getEnd_address() {
return end_address;
}
public void setEnd_address(String end_address) {
this.end_address = end_address;
}
}
class distance {
private String text;
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
}
class duration {
private String text;
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
}
Если попытаться получить результаты из -
- directionsApiResponse.getLegsList().toString()
- directionsApiResponseList.get(0).getLegsList().get(0).getEnd_address()< /li>
Вопросы –
- Что я делаю не так?
- И есть ли какой-нибудь письменный код от Google для анализа ответа JSON от Directions API, где я могу просто удалить элементы GSON мне не нужны?
Подробнее здесь: https://stackoverflow.com/questions/790 ... using-gson