Come analizzare i campi JSON dinamici con GSON?

Quindi sto usando GSON per analizzare JSON da un’API e sono bloccato su come farlo analizzare i campi dinamici nei dati.

Ecco un esempio dei dati JSON restituiti in una query:

{ - 30655845: { id: "30655845" name: "testdata description: "" latitude: "38" longitude: "-122" altitude: "0" thumbnailURL: http://someimage.com/url.jpg distance: 9566.6344386665 } - 28688744: { id: "28688744" name: "testdata2" description: "" latitude: "38" longitude: "-122" altitude: "0" thumbnailURL: http://someimage.com/url.jpg distance: 9563.8328713012 } } 

Il modo in cui attualmente gestisco i singoli valori statici è con una class:

 import com.google.gson.annotations.SerializedName; public class Result { @SerializedName("id") public int id; @SerializedName("name") public String name; @SerializedName("description") public String description; @SerializedName("latitude") public Double latitude; @SerializedName("longitude") public Double longitude; @SerializedName("altitude") public Double altitude; @SerializedName("thumbnailURL") public String thumbnailURL; @SerializedName("distance") public Double distance; } 

E poi posso semplicemente usare GSON per analizzarlo:

 Gson gson = new Gson(); Reader reader = new InputStreamReader(source); Result response= gson.fromJson(reader, Result.class); 

So che questo funziona sui sottodati poichè posso interrogare e ottenere una singola voce e analizzarla abbastanza facilmente, ma per quanto riguarda i valori interi casuali dati per ciascun valore nella matrice? (ovvero il 30655845 e il 2868874)

Qualsiasi aiuto?