In meiner ersten gson-Anwendung habe ich die Verwendung zusätzlicher Klassen zum Abfangen von Werten vermieden, hauptsächlich weil ich json für Konfigurationsangelegenheiten verwende
Trotz des Mangels an Informationen (sogar der Gson-Seite) habe ich Folgendes gefunden und verwendet:
ab
Map jsonJavaRootObject = new Gson().fromJson("{/*whatever your mega complex object*/}", Map.class)
Jedes Mal, wenn gson ein {} sieht, wird eine Map erstellt (tatsächlich eine gson StringMap).
Jedes Mal, wenn gson ein '' sieht, wird ein String erstellt
Jedes Mal, wenn gson eine Zahl sieht, wird ein Double erstellt
Jedes Mal, wenn gson ein [] sieht, wird eine ArrayList erstellt
Sie können diese Fakten (kombiniert) zu Ihrem Vorteil nutzen
Schließlich ist dies der Code, der das Ding macht
Map<String, Object> javaRootMapObject = new Gson().fromJson(jsonLine, Map.class);
System.out.println(
(
(Map)
(
(List)
(
(Map)
(
javaRootMapObject.get("data")
)
).get("translations")
).get(0)
).get("translatedText")
);