使用GSON将JSON字符串转换为对象的ArrayList

时间:2017-04-11 11:48:17

标签: arraylist gson

我们有以下json字符串:

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()时,我们没有得到任何结果。

非常感谢任何帮助。

谢谢。

1 个答案:

答案 0 :(得分:2)

首先制作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循环迭代它。