尝试使用改造来获取json对象数组时出现以下错误。
java.lang.IllegalStateException:预期为BEGIN_ARRAY,但在第1行第2列路径为STRING
请求在api接口中声明为
interface HttpRequests {
@GET("/api/v1/emergency")
Observable<List<Emergency>> getEmergencies(@Query("lat") Double lat,
@Query("lng") Double lng,
@Query("dist") int dist);
紧急情况定义为
public class Emergency {
@SerializedName("emergencyUuid")
@Expose
private String emergencyUuid;
@SerializedName("lat")
@Expose
private Double lat;
@SerializedName("lng")
@Expose
private Double lng;
@SerializedName("phoneNumber")
@Expose
private String phoneNumber;
public Emergency(){};
public Emergency(String emergencyUuid, Double lat, Double lng, String phoneNumber){
this.emergencyUuid = emergencyUuid;
this.lat = lat;
this.lng = lng;
this.phoneNumber = phoneNumber;
}
// getters & setters
}
当我用List<Emergency>
替换String
时,我可以打印看起来有点像的响应:
"[{\"emergencyUuid\":\"axkdjfiwokdfj\",\"lat\":22.22,\"lng\":33.33,\"phoneNumber\":\"12345678910\"}]"
在我看来,这是一个非常精细的json数组,只有一个紧急对象。我不明白为什么这个无法解析。我做错了什么?