以下の構造のJSONデータがあります。同じ構造と同じ名前のPOJOを作成しようとしました。私は、次のJSONで数値オブジェクトの構造を持つDTOのリストと文字列 "通知"を含むDTOを取得しました。私はDTOでデータを取得することができません。JSONデータをPOJOに構文解析できません
{
"notice": "This API is in a pre-launch state, and will go through significant changes.",
"1": {
"next_renewal_date": "2014-08-01",
"next_renewal_fee": {
"price": "800.0",
"currency": "USD"
},
"next_renewal_description": "1st Annuity - Official Fee",
"next_per_claim_fee": {
"price": "0.0",
"currency": "USD",
"free_claims": 0,
"claim_type": "claims_count"
},
"next_agent_fee": {
"price": "0.0",
"currency": "USD"
},
"grace_period_end_date": "2015-02-01"
},
"2": {
"next_renewal_date": "2018-08-01",
"next_renewal_fee": {
"price": "1800.0",
"currency": "USD"
},
"next_renewal_description": "2nd Annuity - Official Fee",
"next_per_claim_fee": {
"price": "0.0",
"currency": "USD",
"free_claims": 0,
"claim_type": "claims_count"
},
"next_agent_fee": {
"price": "0.0",
"currency": "USD"
},
"grace_period_end_date": "2019-02-01"
}
}
POJO:
public class RenewalAPICallListDTO {
private Map<Integer,JSONCallDto> apiCallList;
public Map<Integer, JSONCallDto> getApiCallList() {
return apiCallList;
}
public void setApiCallList(Map<Integer, JSONCallDto> apiCallList) {
this.apiCallList = apiCallList;
}
private String notice;
public String getNotice() {
return notice;
}
public void setNotice(String notice) {
this.notice = notice;
}
}
メソッドの呼び出し:
Gson gson = new Gson();
RenewalAPICallListDTO respDto = gson.fromJson(response1.toString(), RenewalAPICallListDTO.class);
jsonを解析するために使用しているPOJOを表示します。 – dambros
Gson gson = new Gson(); RenewalAPICallListDTO respDto = gson.fromJson(response1.toString()、RenewalAPICallListDTO.class); –
public class RenewalAPICallListDTO { \tプライベートマップ apiCallList; \tパブリックマップ getApiCallList(){ \t \t return apiCallList; \t} \t公共ボイドsetApiCallList(MAP <整数、JSONCallDto> apiCallList){ \t \t this.apiCallList = apiCallList。 \t} \tプライベート文字列通知; \t \t公開ストリングgetNotice(){ \t \t返品通知; \t} \tパブリックvoid setNotice(文字列通知){ \t \t this.notice = notice; \t} \t \t } –