Получение ошибки Ожидается BEGIN_ARRAY, но это BEGIN_OBJECT в строке 1, столбце 2, пути $ - PullRequest
0 голосов
/ 26 февраля 2019

Я новичок в RxANdroid и Retrofit и получаю следующую ошибку:

Ожидается BEGIN_ARRAY, но был BEGIN_OBJECT в строке 1, путь 2 столбца $

У меня есть следующиекод в моей деятельности:

 disposable.add(apiService.getIncidents(1, "true")
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribeWith(new DisposableObserver<IncidentResponse>() {
                    @Override
                    public void onNext(IncidentResponse response) {
                        mResponse = response;
                        mIncidentAdapter.notifyDataSetChanged();
                    }

                    @Override
                    public void onError(Throwable e) {
                        Log.e(TAG, "onError: " + e.getMessage());
                    }

                    @Override
                    public void onComplete() {

                    }
                })

Мой ApiService выглядит следующим образом:

public interface ApiService {

    @GET("api/now/v1/table/incident")
    Observable<IncidentResponse> getIncidents(@Query("priority") int priority, @Query("active") String active);
}

И IncidentResponse выглядит следующим образом:

public class IncidentResponse {
    @SerializedName("result")
    private List<Incident> incidents;

    public IncidentResponse() {

    }
    public IncidentResponse(List<Incident> incidents) {
        this.incidents = incidents;
    }

    public List<Incident> getIncidents() {
        return incidents;
    }

    public void setIncidents(List<Incident> incidents) {
        this.incidents = incidents;
    }
}

1 Ответ

0 голосов
/ 16 марта 2019

Ошибка говорит о том, что ожидаемый массив на самом деле является объектом.Хотя вы еще не показали, как выглядит ваш json, можно предположить, что это из-за private List<Incident> incidents; Попробуйте еще раз, но затем с private Incident incident;

...