android json多维数组

android json多维数组,android,json,parsing,Android,Json,Parsing,我在访问多维数组中的json数据时遇到问题。 我的代码在getJSONArray(“matchdata”)中运行良好 但是我无法访问matchdata->match\u results->match\u result[0]->result\u name 或 matchdata->goals->goal[0]->goal\u getter\u name 这是我的密码: JSONObject json = null; json = jsonFunctions.getJSONf

我在访问多维数组中的json数据时遇到问题。

我的代码在getJSONArray(“matchdata”)中运行良好

但是我无法访问matchdata->match\u results->match\u result[0]->result\u name

matchdata->goals->goal[0]->goal\u getter\u name

这是我的密码:

JSONObject json = null;
           json = jsonFunctions.getJSONfromURL("http://openligadb-json.heroku.com/api/matchdata_by_group_league_saison?group_order_id="+ group_order_id +"&league_saison="+ league_saison +"&league_shortcut=" + league_shortcut);     
        if (json != null){

      try{
        JSONArray  openbuli = null;
        openbuli = json.getJSONArray("matchdata");
        mylist.clear();

            for(int i=0;i<openbuli.length();i++){                       
                HashMap<String, String> map = new HashMap<String, String>();    
                JSONObject e = openbuli.getJSONObject(i);



                map.put("id",  String.valueOf(i));
                map.put("group_name", e.getString("group_name"));
                map.put("name_team1", e.getString("name_team1"));
                map.put("name_team2", e.getString("name_team2"));
                map.put("points_team1", e.getString("points_team1"));
                map.put("points_team2", e.getString("points_team2"));
                map.put("halbzeit", e.getString("result_name"));
                map.put("first", e.getString("name_team1") + " : " + e.getString("name_team2") + "  " + points_team1 + " : " + points_team2);
                map.put("second", e.getString("match_date_time"));
                mylist.add(map);
            }       
      }

      catch(JSONException e){
         Log.e("log_tag", "Error parsing data "+e.toString());
      }
      }

我知道这应该是评论而不是回答,但由于声誉问题,我无法发表评论,所以我把它放在回答中

您可以使用库解析
JSON
响应

请提供您的
JSON
响应,以便更容易理解

    private static String readMultidimensionalArray(JsonReader reader) throws IOException {
    StringWriter sw = new StringWriter();
    JsonWriter jw = new JsonWriter(sw);
    int arrayStack = 0;
    do {
        JsonToken t = reader.peek();
        switch (t) {
            case BEGIN_ARRAY:
                reader.beginArray();
                jw.beginArray();
                arrayStack++;
                break;
            case END_ARRAY:
                reader.endArray();
                jw.endArray();
                arrayStack--;
                break;
            case NUMBER:
                double d = reader.nextDouble();
                jw.value(d);
                break;
            default:
                break;
        }

    } while (arrayStack != 0);

    jw.flush();
    jw.close();
    return sw.toString();
}
这段代码只是将数组作为json字符串返回,但它可以适应任何需要的逻辑


示例输出:[[1.0,0.9,0.0,0.0],[0.9,0.8,0.0,0.0,0.0],[0.0,0.0,0.3,0.5],[0.0,0.0,0.5,0.7]

您能提供响应JSON字符串吗。。。。。
    private static String readMultidimensionalArray(JsonReader reader) throws IOException {
    StringWriter sw = new StringWriter();
    JsonWriter jw = new JsonWriter(sw);
    int arrayStack = 0;
    do {
        JsonToken t = reader.peek();
        switch (t) {
            case BEGIN_ARRAY:
                reader.beginArray();
                jw.beginArray();
                arrayStack++;
                break;
            case END_ARRAY:
                reader.endArray();
                jw.endArray();
                arrayStack--;
                break;
            case NUMBER:
                double d = reader.nextDouble();
                jw.value(d);
                break;
            default:
                break;
        }

    } while (arrayStack != 0);

    jw.flush();
    jw.close();
    return sw.toString();
}