title: How to parse dynamic JSON fields with GSON?
body: <p>So I'm using GSON to parse JSON from an API and am stuck as to how to have it parse the dynamic fields in the data.</p>
  
  <p>Here is an example of the JSON data returned on a query:</p>
  
  <pre><code>{
  
  -
  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
  }
  }
  </code></pre>
  
  <p>The way I am currently handling the single static values is with a class:</p>
  
  <pre><code>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;
  }
  </code></pre>
  
  <p>And then I can simply use GSON to parse that:</p>
  
  <pre><code>Gson gson = new Gson();
  
  Reader reader = new InputStreamReader(source);
  
  Result response= gson.fromJson(reader, Result.class);
  </code></pre>
  
  <p>I know this works on the sub-data as I can query and get a single entry and parse that quite easily, but what about the random integer values given for each value in the array? (ie the 30655845 and 2868874)</p>
  
  <p>Any help?</p>