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