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