[英]Objects are empty after parsing list with JSON
我目前正在嘗試使用GSON解析一些JSON-Data:
[{
"lvTypePathStr": "teamList",
"lvIDPathStr": "155213",
"lvTypeLabelStr": "\/ HSG Pinnau",
"dataList": [{
"lvTypeNext": "",
"lvIDNext": 0,
"levelTypeLabel": "",
"teamID": "353197",
"gClassID": "22566",
"gClassSname": "M-HL",
"clubSname": "HSG Pinnau",
"clubLname": "HSG Pinnau",
"teamSname": "HSG Pinnau"
}, {
"lvTypeNext": "",
"lvIDNext": 0,
"levelTypeLabel": "",
"teamID": "353226",
"gClassID": "22569",
"gClassSname": "M-BL-1",
"clubSname": "HSG Pinnau",
"clubLname": "HSG Pinnau",
"teamSname": "HSG Pinnau 2"
}],
"errCode": 0
}]
相應的對象是:
容納所有隊伍的名單:
public class JSONTeamList extends JSONResponse {
private List<JSONTeam> dataList = new ArrayList<JSONTeam>();
public List<JSONTeam> getDataList() {
return dataList;
}
public void setDataList(List<JSONTeam> dataList) {
this.dataList = dataList;
}
從JSONResponse繼承僅用於常見屬性:
public class JSONResponse {
protected String lvTypePathStr;
protected String lvIDPathStr;
protected String lvTypeLabelStr;
protected int errorCode;
/** ... getter and setter for all attributes ... */
}
最后是車隊本身:
public class JSONTeam {
private String lvTypeNext;
private int lvIDNext;
private String levelTypeLabel;
private String teamID;
private String gClassID;
private String gClassSName;
private String clubSName;
private String clubLName;
private String teamSName;
/** Getter and setter for all attributes... */
}
為了更好的可讀性,我省略了getter和setter,但是它們是使用IntelliJ自動生成的,格式通常為get {variable}和set {variable}。
解析代碼為:
URL url = new URL(baseURL + clubId);
URLConnection con = url.openConnection();
Reader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
JSONTeamList[] list = gson.fromJson(in, JSONTeamList[].class);
現在,當我解析JSON時,會得到一個Teamlist,其中填充了團隊,但團隊中的所有屬性均為空。 我遇到了這個問題,但我認為它不適合這種情況,因為這是一個嵌套列表。 我錯過了什么讓GSON正確填充團隊?
在此先感謝,Sverre
問題解決了,變量名中的大寫字母是錯誤的,例如gClassSname
是變量gClassSName
但應該是gClassSname
。
我花了兩個小時才意識到這是如此簡單...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.