繁体   English   中英

使用JSON解析列表后,对象为空

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM