我已經使用了翻新sdk來進行api調用。我有GSON sdk解析響應。我有一些難以解析的JSON響應。我發佈了json響應,下面是解析。我需要獲取地址行arraylist。在reterofit中使用GSON解析json響應
我收到列表中的空數據。
{
"QA": {
"CreditsUsed": 1,
"State": "Results"
},
"SearchResult": {
"VerifyLevel": "Verified",
"Address": {
"AddressLine": [{
"LineContent": "None",
"Label": {},
"Line": "2500Kearney St"
}, {
"LineContent": "None",
"Label": {},
"Line": {}
}, {
"LineContent": "None",
"Label": {},
"Line": {}
}, {
"Label": "City name",
"Line": "Springfield"
}, {
"Label": "State code",
"Line": "MO"
}, {
"Label": {},
"Line": "65803-5048"
}, {
"Label": "Country",
"Line": "UNITED STATES OF AMERICA"
}],
"DPVStatus": "DPVNotConfigured"
},
"VerificationFlags": {
"StateProvinceChanged": true,
"PostCodeCorrected": true
}
}
}
Model類
public class DineshValues {
String Country;
String Search;
@SerializedName("LineContent")
String LineContent;
@SerializedName("Line")
String Line;
@SerializedName("AddressLine")
List<AddressLine> data=new ArrayList();
public List<AddressLine> getData() {
return data;
}
public String getLineContent() {
return LineContent;
}
public void setLineContent(String lineContent) {
LineContent = lineContent;
}
public String getLine() {
return Line;
}
public void setLine(String line) {
Line = line;
}
public void setData(List<AddressLine> data) {
this.data = data;
}
public String getCountry() {
return Country;
}
public void setCountry(String country) {
Country = country;
}
public String getSearch() {
return Search;
}
public void setSearch(String search) {
Search = search;
}
}
AddressLine類文件
public class AddressLine {
@SerializedName("LineContent")
@Expose
private String lineContent;
@SerializedName("Label")
@Expose
private String label;
@SerializedName("Line")
@Expose
private String line;
/**
*
* @return
* The lineContent
*/
public String getLineContent() {
return lineContent;
}
/**
*
* @param lineContent
* The LineContent
*/
public void setLineContent(String lineContent) {
this.lineContent = lineContent;
}
/**
*
* @return
* The label
*/
public String getLabel() {
return label;
}
/**
*
* @param label
* The Label
*/
public void setLabel(String label) {
this.label = label;
}
/**
*
* @return
* The line
*/
public String getLine() {
return line;
}
/**
*
* @param line
* The Line
*/
public void setLine(String line) {
this.line = line;
}
這樣調用
RetrofitRest.getClient().getLogin("1111111" ,obj,new Callback<DineshValues >() {
@Override
public void success(DineshValues arg0, Response arg1) {
// TODO Auto-generated method stub
Log.e("size",arg0.getData+"");
}
}
,能得到任何異常?如果是,那麼請編輯問題並添加完整的logcat報告。我想當你試圖打印arg0.getData它是打印對象地址。在AddressLine中重寫toString方法。或去爲arg0.getData.get(0).getLineContent() –
09-09 05:54:53.515:E/AndroidRuntime(1411):java.lang.IndexOutOfBoundsException:無效索引0,大小爲0我得到錯誤while即時通訊使用arg0.getData.get(0).getLineContent()。 –
我認爲我已經做了一些錯誤,創造pojo類的給定的響應...你可以檢查我pojo類? –