Sie müssen nicht verwenden JsonObject
. Sie sollten Gson verwenden, um in / von JSON-Zeichenfolgen und Ihre eigenen Java-Objekte zu konvertieren.
Siehe das Gson-Benutzerhandbuch :
(Serialisierung)
Gson gson = new Gson();
gson.toJson(1); // prints 1
gson.toJson("abcd"); // prints "abcd"
gson.toJson(new Long(10)); // prints 10
int[] values = { 1 };
gson.toJson(values); // prints [1]
(Deserialisierung)
int one = gson.fromJson("1", int.class);
Integer one = gson.fromJson("1", Integer.class);
Long one = gson.fromJson("1", Long.class);
Boolean false = gson.fromJson("false", Boolean.class);
String str = gson.fromJson("\"abc\"", String.class);
String anotherStr = gson.fromJson("[\"abc\"]", String.class)
JsonObject
ist eine Zwischendarstellung. In 99% der Anwendungsfälle sollten Sie sich wirklich nur darum kümmern, Ihre Daten als Java-Objekt oder als JSON-haltige Zeichenfolge darzustellen.Sie können es in eine JavaBean konvertieren, wenn Sie Folgendes verwenden möchten:
Verwenden Sie Folgendes, um JsonObject zu verwenden, das flexibler ist:
Welches entspricht dem Folgenden:
quelle
JsonObject jo = jsonParser.parse(json).getAsJsonObject();
undAssert.assertTrue(jo.get("Success").getAsBoolean());
Um dies auf einfachere Weise zu tun, beachten Sie Folgendes:
quelle
Ich mache das und es hat funktioniert.
quelle
Anscheinend hat die obige Antwort die Frage nicht vollständig beantwortet.
Ich denke, Sie suchen etwas wie das Folgende:
wo meine Antwort so etwas ist:
Wie Sie sehen können, sollte der Variablenname mit der Json-Zeichenfolgendarstellung des Schlüssels im Schlüsselwertpaar übereinstimmen. Dadurch wird Ihre gson-Zeichenfolge automatisch in JsonObject konvertiert.
quelle
@SerializedName("Success")
stattdessen beispielsweise.quelle
quelle
quelle
Beachten Sie, dass ab Gson 2.8.6 die Instanzmethode
JsonParser.parse
veraltet und durch eine statische Methode ersetzt wurdeJsonParser.parseString
:quelle