Así que estoy usando GSON para analizar JSON desde una API y estoy atascado en cuanto a cómo analizar los campos dinámicos en los datos.Cómo analizar los campos dinámicos JSON con GSON?
Aquí es un ejemplo de los datos JSON devueltos en una consulta:
{
-
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
}
}
La manera Actualmente estoy manejando los valores estáticos individuales es con una clase:
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;
}
y luego puedo simplemente use GSON para analizar eso:
Gson gson = new Gson();
Reader reader = new InputStreamReader(source);
Result response= gson.fromJson(reader, Result.class);
Sé que esto funciona en los subdatos ya que puedo consultar y obtener un entrada única y analizar eso con bastante facilidad, pero ¿qué pasa con los valores enteros aleatorios dados para cada valor en la matriz? (es decir, el 30655845 y el 2868874)
¿Alguna ayuda?
Clavado, esto funcionó perfectamente. Muchas gracias. : D –
¿Hay alguna manera de analizar el mismo pero usando NewtonSoft? –