[英]parsing JSONObject to custom class
我的自定義類中的數據未顯示。
我從php腳本中獲取了JSON對象,並將其存儲在String result
,然后嘗試將其插入到該類的自定義類Planets
中,我通過get Method調用了特定變量,但該類未顯示在TextView result_tv
這是代碼:
String jsonString = result;
Gson gson = new Gson();
Planets seznamPlanet = gson.fromJson(jsonString, Planets.class);
this.result_tv.setText(seznamPlanet.getPlanetName());
//this.result_tv.setText(jsonString); this works
我的課是:
public class Planets {
public String name;
public Integer size;
public Integer o2;
public Integer atmosphere;
public String getPlanetName() {
return name;
}
public Integer getPlanetSize() {
return size;
}
public Integer getPlanetO2() {
return o2;
}
public Integer getPlanetAtmosphere() {
return atmosphere;
}
}
結果字符串中的JSON對象如下所示:
{"Planets":[{"name":"Earth","size":"3","o2":"1","atmosphere":"1"},{"name":"Mars","size":"8","o2":"0","atmosphere":"0"}]}
將您的Planets
類重命名為Planet
(以避免沖突)
public class Planet {
public String name;
public Integer size;
public Integer o2;
public Integer atmosphere;
}
創建另一個名為PlanetsList
類
public class PlanetsList {
List<Planet> Planets; //rename was useful so we don't have List<Planets> Planets
}
然后像這樣調用gson:
PlanetsList seznamPlanet = gson.fromJson(jsonString, PlanetsList.class);
嘗試這樣的事情:
public class Planets {
public Planet[] planets;
@Override
public String toString() {
return (new Gson().toJson(this));
}
public final class Planet {
public String name;
public Integer size;
public Integer o2;
public Integer atmosphere;
@Override
public String toString() {
return (new Gson().toJson(this));
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.