tutorial objects example deserializar convert android json arraylist gson json-deserialization

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)));