解析 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++)
我正在调用网络服务,响应在 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++)