Aujourd'hui, j'ai essayé d'utiliser la bibliothèque de retrofit au lieu de volley.
Mon problème est que j'obtiens ce résultat dans ma réponse.Retrofit Beginner À propos de POJO
Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2 path $
J'essaie d'analyser la réponse de Google et elle me renvoie cette erreur.
Mon Pojo est ceci.
public static class googleMap{
String icon;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getIcon() {
return icon;
}
public void setIcon(String icon) {
this.icon = icon;
}
String id;
}
pour mon interface est-ce.
public interface GoogleCLient {
@GET("json?location=-33.8670522,151.1957362&radius=500&type=restaurant&name=cruise&key=AIzaSyBe7DiT-2GeoUiFEUJkP-TL4JBR2yFoLu4")
Call<List<googleMap>> loadMaps();
}
Et pour mon code pour définir et obtenir la réponse est ceci.
String URL2 = "https://maps.googleapis.com/maps/api/place/nearbysearch";
GitHubClient client = ServiceGenerator.createService(GitHubClient.class, URL2);
Call<List<googleMap>> call2 = client.loadMaps();
call2.enqueue(new Callback<List<googleMap>>() {
@Override
public void onResponse(Call<List<googleMap>> call, retrofit2.Response<List<googleMap>> response) {
Log.e("Res:", response.body().size());
}
@Override
public void onFailure(Call<List<googleMap>> call, Throwable t) {
Log.e("Err:", t.toString());
}
});
J'ai fait le Servicegenerator dans mon autre classe donc je peux l'appeler à tout moment et il suffit de mettre l'URL en tant que paramètre.
Mon premier essai fonctionne (URL différente tho).
Mais quand il s'agit de la recherche Google Adresses,
Mon code ne fonctionne pas.
Où j'ai fait une erreur et comment puis-je faire les choses correctement?
donc ce SearchResult() est un autre Pojo? –
@CharlesGalvez oui c'est. Le vôtre est incomplet. Vous devez avoir un objet pour la racine, pas un tableau. – tynn
Je reçois toujours cette erreur après avoir ajouté le pojo. Attendu BEGIN_ARRAY mais était BEGIN_OBJECT à la ligne 1 colonne 2 chemin $ –