我试图用GSON反序列化json。我试图在http://www.jsonschema2pojo.org/中运行响应,但“data”中的变量字段名称导致了问题。
我的问题是
主要课程应该是什么样的?
“数据”类应该是什么样的?考虑到每个呼叫的数据下的节点会有所不同吗?
我如何将“数据”读入android studio的列表?
答案 0 :(得分:0)
假设您的JSON输入是一个名为jsonString的String,我们的数据类名为DataClass,那么您的主要应该是这样的:
Gson gson = new Gson();
DataClass[] dataClassArray = gson.fromJson(jsonString, DataClass[].class);
这里的诀窍是将“数据”序列化为Map<String, HashMap<String, String>>
。您的DataClass应如下所示:
class DataClass {
private Integer id;
// ...
// TODO: add the rest of your properties...
// ...
private HashMap<String, HashMap<String, String>> data;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
// ...
//TODO: add getters/setters for the rest of your properties...
// ...
public HashMap<String, HashMap<String, String>> getData() {
return data;
}
public void setData(HashMap<String, HashMap<String, String>> data) {
this.data = data;
}
}
请参阅#1(DataClass [] .class)。如果您真的想要,可以将数组转换为列表。