当前位置: 首页 > 知识库问答 >
问题:

应为BEGIN_ARRAY,但为

弘伟彦
2023-03-14
{
   responseCode: 1,
   responseCodeText: "ok",
   response: [
      {
         lat: 67.2422432322,
         lng: 25.1441441441,
         title: "Point na mapě 1",
         desc: "Lorem ipsum dolor sit amet, consectetur adipisicing elit.\nVero praesentium fugiat nobis pariatur cupiditate saepe dolorum, soluta dignissimos.",
         photo: [
            "http://photo3.jpg",
            "http://photo4.jpg",
         ]
      },
      {
         lat: 39.1234787,
         lng: 25.2242445,
         title: "Point na mapě 2",
         desc: "Possimus veritatis, neque a et odit ad itaque iusto asperiores perspiciatis voluptates,\nvero praesentium fugiat nobis pariatur cupiditate saepe dolorum, soluta dignissimos.",
         photo: [
            "http://photo1.jpg",
            "http://photo2.jpg",
         ]
      }, 
      //other
public interface PointsInterface {

        String BASE_URL = "MY_URL/";

         @POST("getPointsOnMap")
         Call<List<PointsOnMap>> getPointsOnMap();

        class Factory {
            private static PointsInterface service;

            public static PointsInterface getInstance() {
                if (service == null) {
                    Retrofit retrofit = new Retrofit.Builder().addConverterFactory(GsonConverterFactory.create()).baseUrl(BASE_URL).build();
                    service = retrofit.create(PointsInterface.class);
                    return service;
                } else {
                    return service;
                }
            }
        }
    }
   public void serviceInit() {
        PointsInterface.Factory.getInstance().getPointsOnMap().enqueue(new Callback<List<PointsOnMap>>() {
            @Override
            public void onResponse(Call<List<PointsOnMap>> call, Response<List<PointsOnMap>> response) {
                List<PointsOnMap> result = response.body();
                Log.d("response", "Number of points received: " + result.size());
            }

            @Override
            public void onFailure(Call<List<PointsOnMap>> call, Throwable t) {
                Log.e("error", "Error");
            }
        });}

模型

public class PointsOnMap {

    @SerializedName("lat") private Double lat;
    @SerializedName("lng") private Double lng;
    @SerializedName("title") private String title;
    @SerializedName("desc") private String desc;

    public PointsOnMap(Double lat, Double lng, String title, String desc) {
        this.lat = lat;
        this.lng = lng;
        this.title = title;
        this.desc = desc;
    }

    public Double getLat() {
        return lat;
    }

    public void setLat(Double lat) {
        this.lat = lat;
    }

    public Double getLng() { return lng; }

    public void setLng(Double lng) {
        this.lng = lng;
    }

    public String getTitle() { return title; }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }
}

共有1个答案

廖弘伟
2023-03-14

您的改装界面

     @POST("getPointsOnMap")
     Call<List<PointsOnMap>> getPointsOnMap();

应该是

     @POST("getPointsOnMap")
     Call<PointsOnMapResponse> getPointsOnMap();

其中PointsonMapResponse

public class PointsOnMapResponse {
    @SerializedName("responseCode")
    long responseCode;

    @SerializedName("responseCodeText")
    String responseCodeText;

    @SerializedName("response")
    List<PointsOnMap> response;

    //getters, setters
}
 类似资料:
  • 问题内容: 我在解析json数据时遇到此错误: 我找不到解决方案。我的json数据是: 我将图像转换为字节数组,如下所示: 我正在将图标从字节数组转换为Bitmap,如下所示: 我反序列化JSON响应的代码: 这是我的ProjectContainer类: 这是Project类: 如果您能帮助我解决这个问题,我将不胜感激。提前致谢 问题答案: 当您尝试解析该字段时会引发Exception ,因为在J

  • 问题内容: 我在解析JSON数据时遇到以下错误: 预期为begin_array,但在第1行第34列处为STRING 我找不到解决办法。我的JSON是以下内容: 这是我的PersonContent类: 以下是人员类别: 这是我反序列化前面提到的JSON数据的代码 我尝试了在这里找到的所有解决方案,但找不到相同的JSON。 问题答案: 错误出现在您收到的json中:您的类需要一个数组,因为 但是然后在

  • 我不知道该修好它 我怎么了? 我的json是 E/DDD:onFailure:java.lang.IllegalStateException:应为BEGIN_ARRAY,但在第1行第44列路径$.data处为BEGIN_OBJECT 有什么问题?谢谢!

  • 首先,我从服务器获得了这个Json对象,然后使用reverfit lib显示曲目名称是列表。但其返回此问题应为BEGIN_ARRAY,但在COLOMUNS 1处为BEGIN_OBJECTS。 我正在使用这些类: 并且此跟踪类:

  • 我正在尝试使用改版在我的应用程序上实现登录,但是我一直得到这个错误不确定是什么错误,java.lang.IllegalStateException:应该是BEGIN_OBJECT,但应该是BEGIN_ARRAY 这是邮递员的回复 和我的登录类