Wie kann ich erkennen, wenn ein JSON-Wert null ist? Zum Beispiel: [{"Benutzername": null}, {"Benutzername": "null"}]
Der erste Fall repräsentiert einen nicht existierenden Benutzernamen und der zweite einen Benutzer mit dem Namen "null". Wenn Sie jedoch versuchen, beide Werte abzurufen, wird die Zeichenfolge "null" angezeigt.
JSONObject json = new JSONObject("{\"hello\":null}");
json.put("bye", JSONObject.NULL);
Log.e("LOG", json.toString());
Log.e("LOG", "hello="+json.getString("hello") + " is null? "
+ (json.getString("hello") == null));
Log.e("LOG", "bye="+json.getString("bye") + " is null? "
+ (json.getString("bye") == null));
Die Protokollausgabe ist
{"hello":"null","bye":null}
hello=null is null? false
bye=null is null? false
has(java.lang.String);
MethodeAntworten:
Versuchen Sie es mit
json.isNull( "field-name" )
.Referenz: http://developer.android.com/reference/org/json/JSONObject.html#isNull%28java.lang.String%29
quelle
Da JSONObject # getString einen Wert zurückgibt, wenn der angegebene Schlüssel vorhanden ist, ist er per Definition nicht null. Dies ist der Grund, warum JSONObject.NULL existiert: um einen Null-JSON-Wert darzustellen.
quelle
Für Android wird eine JSONException ausgelöst, wenn keine solche Zuordnung vorhanden ist. Sie können diese Methode also nicht direkt aufrufen.
Wenn Ihre Daten leer sein können (der Schlüssel ist möglicherweise nicht vorhanden), versuchen Sie es
oder
stattdessen.
In Ihrem Demo-Code ist die
Dies ist String "null", nicht null.
Ihre sollte verwenden
quelle
Überprüfen Sie zuerst mit
isNull()
.... wenn nicht funktionieren kann, dann versuchen Sie es untenund außerdem müssen Sie
JSONObject.NULL
den Nullwert überprüfen ...und in deinem Fall auch überprüfen
resultObject.getString("username").trim().eqauls("null")
quelle
Wenn Sie zuerst json analysieren und das Objekt später verarbeiten müssen, versuchen Sie dies
Parser
Handler
quelle
Hier ist eine Hilfsmethode, mit der ich JSON-Zeichenfolgen mit nur einer Codezeile abrufen kann:
und dann so etwas:
würde Ihnen Ihren Zeichenfolgenwert geben oder Ihre Zeichenfolgenvariable sicher auf null setzen. Ich benutze Gson, wann immer ich kann, um solche Fallstricke zu vermeiden. Es geht meiner Meinung nach viel besser mit Nullwerten um.
quelle