Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 目标JSON响应_Android_Retrofit2 - Fatal编程技术网

Android 目标JSON响应

Android 目标JSON响应,android,retrofit2,Android,Retrofit2,我有一个JSON响应,如下所示: public void onResponse(Call<ResponseVenue> call, Response<ResponseVenue> response) { venues = response.body().getVenues(); venueAdapter.notifyDataSetChanged(); } {\Vinces\:[{\id\:1,\photo\:\} 它有一个关键的场地,然后是一系列的物体。

我有一个JSON响应,如下所示:

public void onResponse(Call<ResponseVenue> call, Response<ResponseVenue> response) {
    venues = response.body().getVenues();
    venueAdapter.notifyDataSetChanged();
}
{\Vinces\:[{\id\:1,\photo\:\}

它有一个关键的场地,然后是一系列的物体。在改装响应中:

        public void onResponse(Call<List<Venue>> call, Response<List<Venue>> response) {
            venues = response.body();
            venueAdapter.notifyDataSetChanged();
        }

问题是我不知道如何告诉Reformation以场馆关键点指向的集合为目标。我如何做到这一点?我不想仅仅因为这个JSON响应就必须创建另一个类场馆。

在代码中尝试这样做

public void onResponse(Call<ResponseVenue> call, Response<ResponseVenue> response) {
    venues = response.body();
    venueAdapter.notifyDataSetChanged();
}
回应类

然后在代码中使用

public void onResponse(Call<ResponseVenue> call, Response<ResponseVenue> response) {
    venues = response.body();
    venueAdapter.notifyDataSetChanged();
}
赛后pojo课程。
我认为您的pojo与响应json不匹配。

您的改装响应是针对此json输出设置的:

[{\id\:1,\photo\:\},…]

它直接将对象映射到列表中。如果您只有一个数组,那么您可以像这样更改json响应,但是如果您在这个json响应中有另一个键值对,那么您应该尝试@KeLiuyue answer。创建一个VenureResponse pojo类,它包含一个列表字段来保存您的场馆pojo类。 在此之后,按如下方式检索您的场馆Pojo:

public void onResponse(Call<ResponseVenue> call, Response<ResponseVenue> response) {
    venues = response.body().getVenues();
    venueAdapter.notifyDataSetChanged();
}
替换

onResponse(Call<List<Venue>> call, Response<List<Venue>> response)

以及在Api界面中的改装移除列表和仅制作场地

onResponse(Call<Venue> call, Response<Venue> response)