Return Vector inside array JSON Retrofit
How do I bring the information of a vector inside another vector in json format for retrofit:
I have my return:
[
[
{"prato":"BROCOLIS C\/ SALSINHA"},
{"prato":"ACELGA"},
{"prato":"ALFACE + JERIMUM COZIDO"}
],
[
{"prato":"QUICHE DE ALHO PORO"},
{"prato":"ENSOPADO DE FEIJ?O BRANCO"}
],
[
{"prato":"ARROZ BRANCO"},
{"prato":"FEIJ?O CARIOCA"},
{"prato":"ARROZ INTEGRAL"}
],
[
{"prato":"CALDO VERDE"}
]
]
My interface
@GET("nutricao/")
Call<Pratos> getListPratos(
@Query("acao") String acao,
@Query("tipo_refeicao") int tipo,
@Query("data") String data);
My Model
public class Pratos {
@SerializedName("pratos")
private ArrayList<Prato> pratos;
public ArrayList<Prato> getPratos() {
return pratos;
}
public void setPratos(ArrayList<Prato> pratos) {
this.pratos = pratos;
}
}
Continue:
public class Prato {
@SerializedName("prato")
private String prato;
public String getPrato() {
return prato;
}
public void setPrato(String prato) {
this.prato = prato;
}
public String toString(){
return prato;
}
}
My attempt to show:
Call<Pratos> listPratos = service.getListPratos("P", 5, "01/08/2017");
listPratos.enqueue(new Callback<Pratos>() {
@Override
public void onResponse(Call<Pratos> call, Response<Pratos> response) {
Log.i("onResponse Pratos",response.toString());
Pratos pratosResponse = response.body();
if( pratosResponse != null ){
ArrayList<Prato> listaPratos = pratosResponse.getPratos();
for(int i = 0; i < listaPratos.size(); i++ ){
Log.i("Prato", listaPratos.get( i ).toString());
}
}
}
@Override
public void onFailure(Call<Pratos> call, Throwable t) {
Log.i("onFailure Prato", t.getMessage());
}
});
}
Only it is giving this error:
Java.lang.NullPointerException: Attempt to invoke virtual method ' int java.useful.ArrayList.size () ' on a null object reference
0
Author: adventistaam, 2017-08-02
1 answers
The way your JSON is, your interface should be:
@GET("nutricao/")
Call<ArrayList<ArrayList<Pratos>>> getListPratos(
@Query("acao") String acao,
@Query("tipo_refeicao") int tipo,
@Query("data") String data
);
1
Author: Leonardo Lima, 2017-08-02 16:43:29