2011-07-11 51 views
0

所以我有一個我打算用於簡單JSON序列化的類。如何序列化包含基元和List <>類型的對象的JSON?

public class Thing { 

    private int field1; 
    private String some_other_field; 
    private List<SubType> subs; 
    private list<AnotherType> another; 

    public String toJson() { 
    Gson g = new Gson(); 
    g.toJson(this); 
    } 
} 

所以文件顯示,如果你想序列化的泛型類型,你需要指定一個TypeToken:

Type listtype = new TypeToken<List<SubType>>() {}.getType(); 
gson.toJson(subs, listtype); 

不過,如何做這項工作,如果我有一整節課我想序列化?我在哪裏可以指定這兩個List<>類型的序列化類型,以便我可以傳遞整個對象並獲得序列化輸出?這甚至有可能嗎?

回答

1

從文檔看來,如果使用toJson(...)序列化完整對象,它會正確處理泛型屬性。

toJson(Object)

「注意,此方法能正常工作,如果任何對象的字段是通用型的,只是對象本身不應該是一個通用型的」

你用得到什麼輸出你的對象?

+0

這是拋出異常,但顯然我做了錯誤的事情。它看起來很花哨......現在我很好奇爲什麼我首先遇到了問題...... –

相關問題