W mojej pierwszej aplikacji gson unikałem używania dodatkowych klas do przechwytywania wartości, głównie dlatego, że używam json do spraw konfiguracyjnych
mimo braku informacji (choćby strony gson) to właśnie znalazłem i wykorzystałem:
zaczynając od
Map jsonJavaRootObject = new Gson().fromJson("{/*whatever your mega complex object*/}", Map.class)
Za każdym razem, gdy gson widzi {}, tworzy Mapę (w rzeczywistości StringMap gson)
Za każdym razem, gdy gson widzi znak „”, tworzy ciąg
Za każdym razem, gdy gson widzi liczbę, tworzy Double
Za każdym razem, gdy gson widzi [], tworzy ArrayList
Możesz wykorzystać te fakty (łącznie) na swoją korzyść
Wreszcie to jest kod, który tworzy tę rzecz
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")
);