wie überprüft man, ob ein JSONArray in Java leer ist?

9

Ich arbeite an einer Android-App, die Json-Inhalte eines Webservice namens "WebUntis" bekommt. Der JSON-Inhalt, den ich bekomme, sieht so aus:

%Vor%

Wie Sie im result-array sehen können, gibt es auch andere Arrays wie "kl", "su" und "ro"

Ich erhalte den Inhalt dieses Arrays und dann speichere ich sie in einer Arraylist. Aber wenn eines dieser Arrays leer ist, wie:

%Vor%

Ich erhalte immer den Fehler IndexOutOfRangeException , aber ich sage es immer, dass es die leeren Felder nicht nehmen sollte, das habe ich ausprobiert:

%Vor%

Kann mir jemand helfen?

    
seriously 02.03.2015, 10:49
quelle

1 Antwort

19

Wenn das Array in der Datei definiert ist, aber leer ist, wie:

%Vor%

Dann gibt getJSONArray("kl") ein leeres Array zurück, aber das Objekt ist nicht null. Dann, wenn Sie dies tun:

%Vor%

kl ist nicht null und kl.getJSONObject(0) löst eine Ausnahme aus - es gibt kein erstes Element im Array.

Stattdessen können Sie length() , z. B.:

, testen %Vor%     
T.Gounelle 02.03.2015, 11:05
quelle

Tags und Links