gpt4 book ai didi

android - Retrofit Beginner 关于 POJO 的

转载 作者:行者123 更新时间:2023-12-05 07:50:52 24 4
gpt4 key购买 nike

今天,我尝试使用 retrofit 库而不是 volley。
我的问题是我在回复中得到了这个结果。

Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2 path $

我正在尝试解析 Google 响应,但它向我返回了该错误。

我的 Pojo 是这样的。

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

我的界面是这样的。

 public interface GoogleCLient {

@GET("json?location=-33.8670522,151.1957362&radius=500&type=restaurant&name=cruise&key=AIzaSyBe7DiT-2GeoUiFEUJkP-TL4JBR2yFoLu4")
Call<List<googleMap>> loadMaps();
}

我的设置和获取响应的代码是这样的。

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

我在我的其他类中制作了 Servicegenerator,所以我可以随时调用它,只需将 URL 作为参数。
我的第一次尝试成功了(不过 URL 不同)。
但是当涉及到 Google 地方信息搜索时,
我的代码不起作用。
我在哪里犯了错误,我该如何改正?

最佳答案

考虑到您正在使用 this API,您将返回一个包含结果数组的对象:

{
"html_attributions" : [],
"results" : [
...
],
"status" : "OK"
}

所以为它定义一个POJO:

public class SearchResult {
List<googleMap> results;

public void setResults(List<googleMap> results) {
this.results = results;
}

public List<googleMap> getResults() {
return results;
}
}

然后在你的电话中返回这个

public interface GoogleCLient {
@GET("json?location=-33.8670522,151.1957362&radius=500&type=restaurant&name=cruise&key=AIzaSyBe7DiT-2GeoUiFEUJkP-TL4JBR2yFoLu4")
Call<SearchResult> loadMaps();
}

关于android - Retrofit Beginner 关于 POJO 的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35751435/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com