Привет! Я пытаюсь получить данные из API и получаю следующую ошибку:
Ожидается BEGIN_ARRAY, но было BEGIN_OBJECT
Данные, которые я получаювыглядит следующим образом:
"code": "01",
"data": {
"code": "0",
"time": "14-05-2019 16:22:28.661",
"data": [
{
"geometry": {
"BoundingBox": null,
"ExtraMembers": null,
"Type": 7,
"Coordinates": {
"Latitude": 40.401609,
"Values": [
-3.674735,
40.401609
],
"Longitude": -3.674735
},
"CoordinateReferenceSystem": null
}
},
{
"geometry": {
"BoundingBox": null,
....
И вот что pojo для получения этих данных:
public class ApiResponse<T extends ApiResponseData> {
...
@SerializedName("data")
@Expose
private List<T> data;
...
}
public class DData implements ApiResponseData {
...
И вызов модернизации для получения данных следующий:
public void getListOfDs(final MutableLiveData<ApiResponse<DData>> data) {
Call<ApiResponse<DData>> call = CApiInterface.getListOfDs(ID_CLIENT);
call.enqueue(new Callback<ApiResponse<DData>>() {
@Override
public void onResponse(Call<ApiResponse<DData>> call, Response<ApiResponse<DData>> response) {
ApiResponse<DData> apiResponse = response.body();
data.setValue(apiResponse);
}
@Override
public void onFailure(Call<ApiResponse<DData>> call, Throwable t) {
data.setValue(createFailedResponse());
call.cancel();
}
});
}
Вопрос в том, почему я получаю эту ошибку, в ApiResponse
У меня есть Список в этом случае Список, и я получаю список DData
, для другого случая, например, ответом является только один DData
эта работа прекрасно, любая идея?
Любая идея, что, как это можно решить?
Спасибо.