Retrofit2数据模型 - 列表有问题

时间:2017-04-18 12:54:57

标签: java json gson

我正在使用OpenWeatherMap API检索16天的预测信息。

http://www.json-generator.com/api/json/get/cuDhZDicMO?indent=2

从这样的JSON中,我能够检索cod的值。这意味着API的一切正常。我在调试时测试了它,并且API工作正常,因为我能够检索cod的值。

但我的ForecastInfo数据模型中的列表有问题。你能看一下,告诉我哪里出了问题吗?因为它没有检索该列表下的数据。我附加了forecastInfo,这是JSON的数据模型。非常感谢你!

import java.util.ArrayList;
import java.util.List;

public class ForecastInfo {

public final double cod;

public List<LIST> list = new ArrayList<LIST>();

public List<LIST> getList() {
    return list;
}
public ForecastInfo(List<LIST> list,double cod)
{
    this.cod=cod;
    this.list=list;
}

class LIST {
    public final long dt;

    public final Temp temp;
   public LIST(long dt,Temp temp) {
        this.dt = dt;
        this.temp=temp;
    }

    class Temp
    {
        public final double day;

        public Temp(double day){
            this.day=day;

        }
    }
  }
}

1 个答案:

答案 0 :(得分:1)

因为您的模型需要包含响应json文件包含的所有键,并且键的名称应该非常相同。为什么不使用http://www.jsonschema2pojo.org/站点将json转换为pojo检查源类型为JSON,将注释类型转换为gson。它可以帮助你。或者只是以String类型获取响应然后将其转换为
LoginResponse loginResponse = new Gson()。fromJson(json,LoginResponse.class);