2016-08-21 9 views
0

でリストを解析した後、空になっている:オブジェクトは、私は現在GSONを使用して、いくつかのJSON-データを解析しようとしているJSON

[{ 
    "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からInheiring

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を省略しましたが、彼らはいつものように、フォームのget {変数}にし、集合{変数}のIntelliJを使用して自動生成されています。

解析コードは次のとおりです。私はJSONをパースするとき

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); 

は今、私はチームが移入が、チーム内のすべての属性が空であるさTeamlistを取得します。 私はthis質問に出くわしましたが、これはネストされたリストなので、このケースとは一致しないと思います。 GSONにチームを正しく配置させるために、私は何を欠場しましたか?

+0

gson.fromJson()を使用してGSON解析コードを提供してください。 –

+0

追加、編集を参照してください。 – SverreN

+0

'dataList'はトップレベルではなく、JSONの最初の要素に含まれています。最初に外側の配列の要素に落とす必要があり、それぞれの要素(この場合は1つだけです)には 'lvTypePathStr'や' dataList'があります。あなたが1つのレベルを高すぎるように見せているようです。 –

答えて

0

問題解決、変数名に大文字が間違っていた、例えば事前に

おかげで、 スヴェレgClassSnameは変数gClassSNameでしたが、gClassSnameであったはずです。
これは簡単なことを実現するのに2時間かかりました...

関連する問題