title: how to check if a JSONArray is empty in java?
body: <p>I am working on an android app that get json content of a webservice called "WebUntis". The Json content i am getting looks like:</p>
  
  <pre><code>{"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}]},
  ...]}
  </code></pre>
  
  <p>As you can see in the result-array there are also other arrays like "kl", "su" and "ro"</p>
  
  <p>I am getting the content of these array and then i store them in an arraylist.
  But when one of these array is empty, like;</p>
  
  <pre><code>    {"jsonrpc":"2.0","id":"req-002",
       "result":[
           {"id":125043,"date":20110117,"startTime":800,"endTime":850,
            "**kl":[]**,
            "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}]},
  ...]}
  </code></pre>
  
  <p>I am always getting the error <strong><code>IndexOutOfRangeException</code></strong>,
  but I am always telling it that it should not take the empty arrays, this is what I have tried:</p>
  
  <pre><code> JSONObject jsonResult = new JSONObject(s);
   // Get the result object
   JSONArray arr = jsonResult.getJSONArray("result");
  
   for (int i = 0; i &lt; arr.length(); i++) {
      JSONObject c = arr.getJSONObject(i);
      anfangStunde[i] = c.getString("startTime");
      endeStunde[i] = c.getString("endTime");
  
      // get the jsonarrays (kl, su, ro)
      kl = c.getJSONArray("kl");
      su = c.getJSONArray("su");
      ro = c.getJSONArray("ro");
  
      // check if kl is not null
      if(kl != null){
         klassenID[i] = kl.getJSONObject(0).getString("id");
      }
      if (klassenID[i] != null) {
         klasse = webuntis.klassenMap.get(klassenID[i]);
         Log.d("ID und Klasse=", "" + klassenID[i] + ";" + klasse);
      }
      // get th ids
      fachID[i] = su.getJSONObject(0).getString("id");
      if (fachID[i] != null) {
         fach = webuntis.faecherMap.get(fachID[i]);
         Log.d("ID und Fach=", "" + fachID[i] + ";" + fach);
      }
  
      // "Start;Ende;Klasse;Fach;Raum" store in arraylist
      webuntis.stundenPlan.add(anfangStunde[i] + ";" + endeStunde[i] + ";" + klasse + ";" + fach);
      // Write Data into a file for offline use:
   }
  </code></pre>
  
  <p>Can anyone help me ?</p>