Jestem nowy w rozwoju Androida i nowy w JSON. Korzystam z api mapy odległości w Google Maps. Mam pobrać plik JSON do JSONObject, jak sądzę (ukradłem kod, aby zrobić to z innego postu). Jednak nie mogę poprawnie analizować JSON. Pracowałem nad tym przez kilka dni i jestem całkowicie zakłopotany. Robię co następuje wezwanie do google poniżejParsowanie JSON z google maps DistanceMatrix api w Androidzie
https://maps.googleapis.com/maps/api/distancematrix/json?origins=1600%20pennsylvania%20avenue&destinations=1500%20college%20street&mode=driving&units=imperial
Wyjście to:
{
"destination_addresses" : [ "1500 College Street, Beaumont, TX 77701, USA" ],
"origin_addresses" : [ "1600 Pennsylvania Avenue, Hagerstown, MD 21742, USA" ],
"rows" : [
{
"elements" : [
{
"distance" : {
"text" : "1,306 mi",
"value" : 2102536
},
"duration" : {
"text" : "18 hours 48 mins",
"value" : 67684
},
"status" : "OK"
}
]
}
],
"status" : "OK"
}
Próbowałem:
1.
JSONArray jsonArray = jObject.getJSONArray("rows");
JSONArray routes = jsonArray.getJSONArray(0);
stringBuilder.append(routes.getJSONObject(0).getString("text"));
2.
JSONArray jsonArray = jObject.getJSONArray("rows");
JSONObject routes = jsonArray.getJSONObject(0);
stringBuilder.append(routes.getJSONObject("distance").getString("text"));
3.
JSONArray jsonArray = jObject.getJSONArray("elements"); stringBuilder.append(routes.getJSONObject(0).getString("text"));
próbowałem więcej, ale te wydają mi się one powinny działać. Wydawało mi się, że dla mnie wiersze to tablica, a elementy to także tablica. A zatem musiałbym pobrać wiersze z oryginalnego JSONObject, a następnie pobrać tablicę elementów z tablicy wierszy, a następnie pobrać obiekt odległości z tej tablicy, a na koniec uzyskać wartość tekstową i dodać ją do konstruktora ciągów I stworzony wcześniej. Czy popełniłem błąd? z góry dziękuję za pomoc.
* Próbowałem prawie wszystkiego i utrzymuje rzucanie różnych wyjątków. *, A następnie pokażesz nam, co miał próbowałeś i co Wyjątkiem jesteś uzyskiwanie ... także przed zapytaniem google o te wyjątki ... – Selvin
Edytowałem to, żeby pokazać część z nich. Zrobiłem Google wyjątki, ale nie sądziłem, że to ma jakiś sens. w pozycji 0 obiektu jsonArray nie jest tablicą.Jednak nie byłby to element będący tablicą? – eam1813
'rows' to tablica, a następnie * pierwszy element * jest obiektem, a następnie' element' właściwość tego obiektu jest tablicą. then * pierwszy element * jest obiektem z właściwością 'distance' ... która jest obiektem ... który ma' własność text ... w 2 jesteś prawie na miejscu ... ale zapomniałeś o tablicy 'element'ów – Selvin