提问者:小点点

Jackson Gson改装预期开始_OBJECT,但实际开始_ARRAY


我知道这已经被问了很多,但是,我发现的问题都没有解决我的特定问题。

这是我的JSON

[JSON-URL][1]

[
  {      
    "unit":"IMECA",
    "value":29,
  },
  {
    "unit":"IMECA",
    "value":43,
  }
]

这是我的 DTO

爪哇分区

  public class Zona {
  private String unit;
  private int value;

  public String getUnit() {
    return unit;
  }

  public void setUnit(String unit) {
    this.unit = unit;
  }

  public int getValue() {
    return value;
  }

  public void setValue(int value) {
    this.value = value;
  }

  @Override
  public String toString() {
    return String.valueOf(unit) + ": " + String.valueOf(value);
  }
}

这是我的界面

Api.java公司

public interface Api {
  @GET("/data/heatmap_stations.json")
  Call<Zona> getZona();
}

我有点明白为什么会这样,因为JSON数组是响应,但是Jackson Gson期望一个JSON对象。

我尝试像这样创建一个 POJO:

Zonas.java

Public class Zonas extends ArrayList<Zona> {}

以及改变接口和改型呼叫中的呼叫签名,将单个DTO替换为复数,(从呼叫


共1个答案

匿名用户

变化

public interface Api {
  @GET("/data/heatmap_stations.json")
  Call<Zona> getZona();
}

public interface Api {
  @GET("/data/heatmap_stations.json")
  Call<List<Zona>> getZona();
}

您告诉它期望一个Zona对象,但它返回的是Zona的数组

相关问题