我正在尝试从android中的JSON获取elevations的值,但在日志中未显示任何内容。这个JSON是一个嵌套数组,我仍然是在android中解析JSON的新手。

这就是JSON的样子:

android - 从没有名称的Android的嵌套数组JSON获取数据-LMLPHP

这是我的代码:

try {
      JSONObject responseObject = new JSONObject(result);
      JSONArray elev = responseObject.getJSONArray("resourceSets");
      JSONArray el = elev.getJSONObject(1).getJSONArray("elevations");

      for(int i=0; i<=el.length();i++){
           Log.d("EL",el.toString());
      }
}
catch (Exception e){
    e.printStackTrace();
}

最佳答案

尝试如下:(代码中的问题是您直接获取“海拔”而没有获取“ resources”数组)

try {
      JSONObject responseObject = new JSONObject(result);
      JSONArray elev = responseObject.getJSONArray("resourceSets");
      JSONArray el_resources = elev.getJSONObject(0).getJSONArray("resources");
      JSONArray el = el_resources.getJSONObject(0).getJSONArray("elevations");

      for(int i=0; i<=el.length();i++){
           Log.d("EL", el[i].toString()); // also get index from array then print it
      }
}
catch (Exception e){
    e.printStackTrace();
}

09-30 23:10