Parsen von JSON - Kann nicht get-boolean-Wert aus JsonObject
Ich habe versucht, herauszufinden, wie zu tun, einige grundlegende Dinge in Java..
Ich habe eine Anfrage zu einer API, die gibt die folgende JSON.
{"success": false, "message": "some string", "data": []}
Diese wird vertreten durch den String result
im folgenden:
JsonObject root = new JsonParser().parse(result).getAsJsonObject();
success = root.getAsJsonObject("success").getAsBoolean();
Ich brauche, um den "Erfolg" - Parameters als boolean. Immer ein Fehler auf der getAsBoolean()
nennen.
java.lang.Classcastexception-Fehler: com.google.gson.JsonPrimitive nicht
cast to com.google.gson.JsonObject
Was mache ich falsch? Wie bekomme ich den bool-Wert "Erfolg"?
- versuchen Sie so etwas wie gson.fromJson("false", Boolean.class);
- ändern Sie es zu
getAsJsonPrimitive
als Erfolg ist nicht ein JsonObject? - welche version verwenden Sie???
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Grund, dass, brechen Sie Ihren code ein, den Sie anrufen die falsche Methode...
Tun
statt
Beispiel:
die Sie aufrufen
root.getAsJsonObject("success")
während dersuccess
ist ein boolescher Wert selbst, nicht ein Objekt.Versuchen Sie folgenden
Ich würde nur mit root.get("Erfolg") - Methode. Erfolg ist nicht wirklich ein json-Objekt, es ist ein Mitglied eines json-Objekts. Hier sehen https://google.github.io/gson/apidocs/com/google/gson/JsonObject.html#get-java.lang.String-
Wenn root ein jsonObject