1. 程式人生 > >Gson關於對內部類的序列化

Gson關於對內部類的序列化

我們都知道Gson可以把一個json格式的資料直接序列化為這個物件的List集合

通過方法:

Gson gson = new Gson();
List<Cat> cats = gson.fromJson(goods.toString(), new TypeToken<List<Cat>>(){}.getType()); 

這樣的用法非常的方便

但是如果Cat這個類裡面還包含一個類的集合呢,而不僅僅是一個類呢。

public class Cat {
    private int cat_id;
    private String cat_name;
    private List<Good> goods_list;

    public int getCat_id() {
        return cat_id;
    }

    public void setCat_id(int cat_id) {
        this.cat_id = cat_id;
    }

    public String getCat_name() {
        return cat_name;
    }

    public void setCat_name(String cat_name) {
        this.cat_name = cat_name;
    }

    public List<Good> getGoods_list() {
        return goods_list;
    }

    public void setGoods_list(List<Good> goods_list) {
        this.goods_list = goods_list;
    }
}
這樣的寫法是正確的,最初我不知道該怎麼轉換,以為這樣的集合應該用JSONArray或者String型別,然後轉換為List,其實是我想多了,那樣的話反而會出錯。直接定義為List<Good>就可以拿來使用了!