我已經下載一個JSON文件有這樣一個領域:錯誤此雙重轉換以JSON
,所以我做了這個代碼:
final Retrofit retrofit = new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.baseUrl(AirportService.SERVICE_ENDPOINT).build();
AirportService service = retrofit.create(AirportService.class);
service.getAirport()
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<List<Airport>>()
{
List<Airport>airps = new ArrayList<Airport>();
@Override
public void onCompleted()
{
}
@Override
public void onError(Throwable e)
{
e.printStackTrace();
}
@Override
public void onNext(List<Airport> airports)
{
for(Airport air : airports)
{
Log.d("latitude",String.valueOf(air.getLatitudeDeg());
//Log.d("iso_c",air.getIsoCountry());
}
});
但問題是某些字段爲空/0.0:在這種情況下,日誌是latitude_deg = 0.0
和iso_country = null
。這是機場類:
public class Airport {
private double latitudeDeg;
private double longitudeDeg;
private int elevationFt;
private String continent;
private String isoCountry;
/**
*
* @return
* The latitudeDeg
*/
public double getLatitudeDeg() {
return latitudeDeg;
}
/**
*
* @param latitudeDeg
* The latitude_deg
*/
public void setLatitudeDeg(double latitudeDeg) {
this.latitudeDeg = latitudeDeg;
}
/**
*
* @return
* The longitudeDeg
*/
public double getLongitudeDeg() {
return longitudeDeg;
}
/**
*
* @param longitudeDeg
* The longitude_deg
*/
public void setLongitudeDeg(double longitudeDeg) {
this.longitudeDeg = longitudeDeg;
}
/**
*
* @return
* The elevationFt
*/
public int getElevationFt() {
return elevationFt;
}
/**
*
* @param elevationFt
* The elevation_ft
*/
public void setElevationFt(int elevationFt) {
this.elevationFt = elevationFt;
}
/**
*
* @return
* The continent
*/
public String getContinent() {
return continent;
}
/**
*
* @param continent
* The continent
*/
public void setContinent(String continent) {
this.continent = continent;
}
/**
*
* @return
* The isoCountry
*/
public String getIsoCountry() {
return isoCountry;
}
/**
*
* @param isoCountry
* The iso_country
*/
public void setIsoCountry(String isoCountry) {
this.isoCountry = isoCountry;
}
}
,我已經與JsonToPOJO模式生成。
檢索我的0 /空值的錯誤是什麼?
謝謝
因此,您的問題是,值沒有填充? –
@Hans Wurst它不需要從Json的值 – nani