【发布时间】:2011-07-09 12:59:59
【问题描述】:
我需要获取我的 android 的纬度和经度,它有很多这样的值:
我试过这个从 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 大小的数组。所以,我试图通过 Toast 搜索它在哪里停下,然后我找到了:
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());
}
}
@aroth 我有答案了!!我回来使用我的方式:
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>();
我仍然不知道为什么您的代码不起作用。但是,非常感谢您的帮助:))
【问题讨论】:
标签: android json arraylist location