Nella mia prima applicazione gson ho evitato di utilizzare classi aggiuntive per rilevare i valori principalmente perché utilizzo json per questioni di configurazione
nonostante la mancanza di informazioni (anche pagina gson), è quello che ho trovato e usato:
partendo da
Map jsonJavaRootObject = new Gson().fromJson("{/*whatever your mega complex object*/}", Map.class)
Ogni volta che gson vede un {}, crea una mappa (in realtà una StringMap gson)
Ogni volta che gson vede un '', crea una stringa
Ogni volta che gson vede un numero, crea un doppio
Ogni volta che gson vede un [], crea un ArrayList
È possibile utilizzare questi fatti (combinati) a proprio vantaggio
Finalmente questo è il codice che rende la cosa
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")
);