Testen auf null JSON Objekte in Java / Android

7

Ich erhalte diesen LogCat:

%Vor%

Hier ist Code:

%Vor%

Hier ist der Kontext:

In PHP verwende ich die Gesamtzahl der Zahlen in einer Spalte in einer MySQL-Tabelle. Wenn IRGENDEINE Zeilen vorhanden sind, sendet es einen Durchschnitt der darin enthaltenen Daten zurück und codiert es, und Java liest es als JSON-Objekt auf. Aber manchmal gibt es Fälle, in denen eine Tabelle 0 Zeilen haben kann, also bekomme ich dieses JSON-Objekt:

%Vor%

Meine app stürzt dann ab und das LogCat ist wie oben gesehen.

Das String scheint sich nicht darum zu kümmern, ob es ein Null-JSON-Objekt aufnimmt, aber die App stürzt ab, wenn ich Float.valueOf(theString) mache.

Eine weitere Randnotiz, ich habe versucht, diesen Weg zu testen:

%Vor%

Aber es scheint die Zeichenfolge niemals als null zu lesen. Ist es in diesem Fall tatsächlich nicht null ?

    
KickingLettuce 22.06.2012, 22:57
quelle

4 Antworten

25

Verwenden Sie die folgende Methode von JsonObject , um zu überprüfen, ob ein Wert für einen Schlüssel null ist.

%Vor%

Diese Methode wird verwendet, um Null gegen einen beliebigen Schlüssel zu prüfen, oder wenn für den Schlüssel kein Wert vorhanden ist.

Verwenden Sie das folgende Snippet

%Vor%     
Vipul Shah 22.06.2012, 23:18
quelle
4
%Vor%

parseFloat() löst eine Ausnahme aus, wenn es null empfängt.

    
nullpotent 22.06.2012 23:03
quelle
0

Überprüfen Sie auf Null, bevor Sie den Wert analysieren,

%Vor%

Wenn der Wert von AverageRating tatsächlich eine Zahl ist, dann sollte die Entität, die JSON generiert, diese nicht als Zeichenfolge in den JSON einfügen. Wenn für das Feld kein Wert vorhanden ist, sollte das Feld nicht vorhanden sein. Wenn es ein Wert für das Feld gibt, sollte es eine Zahl sein.

Wenn das stimmt, könntest du damit umgehen,

%Vor%

Andere Beiträge haben vorgeschlagen, einfach NumberFormatException zu fangen. Dies ist nur dann richtig, wenn Sie zu jedem Zeitpunkt einen gültigen doppelten Wert im Feld erwarten und dies ansonsten als außergewöhnlich betrachten. Wenn Sie wissen / erwarten, dass das Feld manchmal abwesend sein wird, gilt es nicht als Ausnahmezustand.

    
Jeffrey Blattman 22.06.2012 23:12
quelle
0
%Vor%

das sagte Null-Wert wie Schlüssel als Json-Wert überprüfen.

    
bhanu Prakash Dave 28.08.2015 10:02
quelle

Tags und Links