2017-05-04 10 views
0

でBEGIN_ARRAYでした。Retrofitの新機能で、IDを使用してJSONからデータを取得しようとしています。ポストメソッドが、私はこのアローを投げる。

enter image description here

これは、私がここで

[{"idPlakas":"6","latitud":"19.681984","longitud":"-101.171496","titulo":"markador"}] 

をconsume`しようとしているJSONでIDによって要求を行う私のPOSTメソッドです。

@FormUrlEncoded 
@POST("/Cprincipal/obtener_carro/") 
void obtCarro(@Field("idPlakas") int idPlakas, Callback<Carro> callback); 

Iは、オブジェクトとそれが有する情報、及びマーカーを作成し、他の方法には、この同じ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)); 
     } 
    }); 
} 

これはあなたのCallbackが単一Carroオブジェクトを期待

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; 
} 

}

+0

はのは、カルロクラスを見てみましょう期待するコールバックを変更する必要があり、おそらく間違っているでしょう。 – nasch

+0

Hola @Naschアグレガールクラゲアミプレガンガ。 –

答えて

1

私のクラスです。

Callback<Carro> callback 

しかし、あなたが投稿した応答は、JSON配列である(角括弧に注意してください)

[{"idPlakas":"6","latitud":"19.681984","longitud":"-101.171496","titulo":"markador"}] 

ので、あなたがList<Carro>

+0

ありがとうございました、リストを追加しました。 –

関連する問題