解析 jsonarray 时出错

error while parsing an jsonarray

我正在调用网络服务,响应在 JSON 中。 我得到的内容是一个 JSON 数组,看起来像这样:

{"jsonrpc":"2.0","id":"req-002","result":[ {"id":125043,"date":20110117,"startTime":800,"endTime":850, "kl":[{"id":71}],"te":[{"id":23}],"su":[{"id":13}],"ro":[{"id":1}]}, {"id":125127,"date":20110117,"startTime":1055,"endTime":1145, "kl":[{"id":71}],"te":[{"id":41}],"su":[{"id":19}],"ro":[{"id":31}]}, ]}

现在我试图获取数组中的对象,但我只能获取第一个数组:例如,我无法获取第一个 "kl" 数组,但我无法获取第二个一。 它总是给我错误:

org.json.JSONException: Index 1 out of range [0..1)

这是我试过的:

 JSONObject jsonResult = new JSONObject(s);
            // Get the result object
            JSONArray arr = jsonResult.getJSONArray("result");
            Log.d("Arraylänge", String.valueOf(arr.length()));

            for(int i=0; i<arr.length(); i++){
                JSONObject c = arr.getJSONObject(i);

                anfangStunde[i] = c.getString("startTime");
                endeStunde[i] = c.getString("endTime");

                JSONArray klArr = c.getJSONArray("kl");
                for(int j=0; i<klArr.length(); j++)
                {
                    JSONObject k =  klArr.getJSONObject(j);
                    klassenID[j] = k.getString("id");
                }

你打错了for(int j=0; **i**<klArr.length(); j++)