1 回答

TA貢獻(xiàn)1825條經(jīng)驗 獲得超6個贊
似乎是因為失敗的 JSON 缺少 items 屬性,它將 List items 設(shè)置為 null
是的。你得到了NullPointerException,因為你調(diào)用toString()了一個空對象。這是預(yù)期的行為。
解決方案
error由于和具有不同的模式success,因此您需要創(chuàng)建一個具有這兩個值的模型。下面給出一個最小的例子,
響應(yīng)模型.java
class ResponseModel {
// ERROR
private final Boolean success;
private final Error error;
// SUCCESS
private final int item_count;
// more success values...
ResponseModel(Boolean success, Error error, int item_count) {
this.success = success;
this.error = error;
this.item_count = item_count;
}
public class Error {
private final int code;
private final String message;
private Error(int code, String message) {
this.code = code;
this.message = message;
}
public int getCode() {
return code;
}
public String getMessage() {
return message;
}
}
public Boolean getSuccess() {
return success;
}
public Error getError() {
return error;
}
public int getItem_count() {
return item_count;
}
}
在onResponse方法中,您可以像這樣檢查響應(yīng)是否成功
ResponseModel responseModel = response.body();
if (responseModel.getError() == null) {
// success
doSomethingWithSuccess(responseModel.getItem_count())
} else {
// error
doSomethingWithError(responseModel.getError())
}
添加回答
舉報