android - objects - gson tutorial list
Gson Array of Array Deserialization (2)
Tengo la siguiente estructura JSON:
[
{
"id": 1,
"subcategories": [
{
"id": 2,
"subcategories": [
]
},
{
"id": 3,
"subcategories": [
]
}
]
},
{
"id": 4,
"subcategories": [
{
"id": 5,
subcategories: [
]
}
]
}
]
La clase de modelo para una Categoría (algunos campos como el título se omiten por simplicidad), para reflejar la estructura JSON:
public class Category {
int id = 0;
ArrayList<Category> subCategories = null;
}
Estoy tratando de analizar eso con la biblioteca Gson (2.2.4), teniendo dificultades para deserializar la matriz interna a la lista de arrays:
Gson gson = new Gson();
Type collectionType = new TypeToken<ArrayList<Category>>(){}.getType();
ArrayList categories = gson.fromJson(json, collectionType);
Category.subCategories es siempre nulo.
Prueba esto.
public class Category {
int id = 0;
ArrayList<Category> subCategories = new ArrayList<Category>()
}
gson.fromJson(json, Category[].class)
funcionó bien para mí Si desea una ArrayList en lugar de una matriz:
new ArrayList<Category>(Arrays.asList(gson.fromJson(json, Category[].class)));