获得错误预期BEGIN_ARRAY但在第1行第2列路径$是BEGIN_OBJECT

问题描述 投票:0回答:1

我是RxANdroid和Retrofit的新手,并收到以下错误:

预期BEGIN_ARRAY但在第1行第2列路径$为BEGIN_OBJECT

我的活动中有以下代码:

 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;
    }
}
android retrofit rx-java rx-android
1个回答
0
投票

该错误告诉您,您期望的数组实际上是一个对象。虽然你还没有展示你的json是怎样的,但可以肯定它是因为private List<Incident> incidents;再试一次然后用private Incident incident;

© www.soinside.com 2019 - 2024. All rights reserved.