У моєму першому додатку gson я уникав використання додаткових класів для лову значень, головним чином тому, що я використовую json для питань конфігурації
незважаючи на брак інформації (навіть на сторінці gson), саме це я знайшов і використав:
починаючи з
Map jsonJavaRootObject = new Gson().fromJson("{/*whatever your mega complex object*/}", Map.class)
Щоразу, коли gson бачить {}, він створює Map (насправді gson StringMap)
Щоразу, коли gson бачить '', він створює String
Щоразу, коли gson бачить число, він створює Double
Кожен раз, коли gson бачить [], він створює ArrayList
Ви можете використовувати ці факти (комбіновані) на вашу користь
Нарешті, це код, який робить річ
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")
);