retrofit com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期的BEGIN_OBJECT,但BEGIN_ARRAY在第1行第2列路径$
问题描述:
他们是新的Retrofit,我试图从ID使用ID获取数据,与post方法,但是我抛出了这个错误。
这是我想consume`
[{"idPlakas":"6","latitud":"19.681984","longitud":"-101.171496","titulo":"markador"}]
这是帖子的方法使通过ID请求的JSON。
@FormUrlEncoded
@POST("/Cprincipal/obtener_carro/")
void obtCarro(@Field("idPlakas") int idPlakas, Callback<Carro> callback);
我执行以下代码以接收所述对象,并且它具有的信息,并且该相同madarla到将创建一个标记的另一种方法。 但是,当运行我的应用程序不会进入该方法,我得到的错误。
public void actualizarMarcador() {
RestAdapter restAdapter = new RestAdapter.Builder().setEndpoint("http://192.168.1.70/formularios").build();
CoordenadaServicio serv = restAdapter.create(CoordenadaServicio.class);
serv.obtCarro(placaM, new Callback<Carro>() {
@Override
public void success(Carro carro, Response response) {
if (carroObjeto!=null){
carroObjeto=null;
}
carroObjeto = new Carro();
carroObjeto.setIdPlakas(carro.getIdPlakas());
carroObjeto.setLongitud(carro.getLongitud());
carroObjeto.setLatitud(carro.getLatitud());
carroObjeto.setTitulo(carro.getTitulo());
generarMarker(carroObjeto);
}
@Override
public void failure(RetrofitError error) {
Log.e("mapa", " failed "+ String.valueOf(error));
}
});
}
这是我的课
class Carro {
@SerializedName("idPlakas")
private int idPlakas;
public int getIdPlakas() {
return idPlakas;
}
public void setIdPlakas(int idPlakas) {
this.idPlakas = idPlakas;
}
@SerializedName("latitud")
private Double latitud;
public Double getLatitud() {
return latitud;
}
public void setLatitud(Double latitud) {
this.latitud = latitud;
}
@SerializedName("longitud")
private Double longitud;
public Double getLongitud() {
return longitud;
}
public void setLongitud(Double longitud) {
this.longitud = longitud;
}
@SerializedName("titulo")
private String titulo;
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
}
答
你Callback
只需要一个Carro
对象。
Callback<Carro> callback
,但你已经张贴的响应是一个JSON阵列(注意括号)
[{"idPlakas":"6","latitud":"19.681984","longitud":"-101.171496","titulo":"markador"}]
,所以你需要改变你的回调期望List<Carro>
+0
谢谢,添加列表已解决。 –
让我们来看看卡罗类,这可能是不正确的。 – nasch
Hola @Nasch Agregar clase mi pregunta。 –