2017-04-11 54 views
0

我們有以下的JSON字符串:轉換一個JSON字符串爲對象的ArrayList與GSON

jsonUserDataRecs=[{"G_ID1":1,"G_ID2":2,"G_ID3":3,"NAME":"g1"},{"G_ID1":4,"G_ID2":5,"G_ID3":5,"NAME":"g2"}] 

想將其轉換成以下數據類型:

ArrayList<USER_DATA_REC> userDataRecs; 

我們嘗試了以下,但沒有得到任何結果:

userDataRecs = gson.fromJson(jsonUserDataRecs, new TypeToken<ArrayList<USER_DATA_REC>>() {}.getType()); 

當我們運行:userDataRecs.get(0).getNAME(),我們沒有得到任何結果。

任何幫助將不勝感激。

謝謝。

+0

[Google Gson - 反序列表對象可能重複? (泛型)](http://stackoverflow.com/questions/5554217/google-gson-deserialize-listclass-object-generic-type) –

+0

你會得到什麼錯誤?並請分享您的USER_DATA_REC課程 – mismanc

回答

0

首先做一個POJO類:

public class UserDataRecord { 
    public int G_ID1; 
    public int G_ID2; 
    public int G_ID3; 
    public String NAME; 
    public String getNAME() { 
     return NAME; 
    } 
} 

下一頁使用GSON到反序列化JSON字符串,像這樣:

UserDataRecord[] userDataRecords = gson.fromJson(jsonUserDataRecs, UserDataRecord[].class); 

現在你有一個反序列化的用戶數據記錄的數組。如果需要,您可以手動將其轉換爲列表,或者使用正常的for循環迭代它。