Мне нужно получить широту и долготу моего андроида, он получил много значений, таких как:
Я пытался получить значения из JSON:
ArrayList<String> longitude;
ArrayList<String> latitude;
public void parseJson(String result) {
try {
JSONArray jArray = new JSONArray(result);
for (int i = 0; i < jArray.length(); i++) {
JSONObject jo = jArray.getJSONObject(i);
latitude.add(jo.getString("Latitude").toString());
longitude.add(jo.getString("Longitude").toString());
}
} catch (JSONException e) {
Log.e("log_tag", "Error parsing data " + e.toString());
}
}
Но когда я проверяю размер массива, он пуст.
Кто-нибудь может помочь или подсказать мою ошибку? Спасибо
@ после изменения, я все еще получил 0 размер массива. Итак, я попытался найти, где он остановился у Тоста, и обнаружил:
public void parseJson(String result) throws JSONException {
longitude = new ArrayList<String>();
latitude = new ArrayList<String>();
JSONArray jArray = (JSONArray)JSONValue.parse(result);
for (Object obj: jArray) {
JSONObject jo = (JSONObject)obj;
//here is when I toast it's got nothing
latitude.add(jo.get("Latitude").toString());
longitude.add(jo.get("Longitude").toString());
}
}
@ Я получил ответ !! Я вернулся, чтобы использовать свой путь, как это:
public void parseJson(String result) throws JSONException {
longitude = new ArrayList<String>();
latitude = new ArrayList<String>();
JSONArray jArray = new JSONArray(result);
for (int i = 0; i < jArray.length(); i++) {
JSONObject jo = jArray.getJSONObject(i);
latitude.add(jo.getString("Latitude").toString());
longitude.add(jo.getString("Longitude").toString());
}
Кажется, я забыл объявить следующее:
longitude = new ArrayList<String>();
latitude = new ArrayList<String>();
Я до сих пор не понимаю, почему ваш код не работает. Однако, большое спасибо за вашу помощь:))