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