- 對(duì)JSON數(shù)據(jù)格式化,確定層級(jí)關(guān)系嗡害。(以查詢匯率為例)
"results": {
"rate": [
{
"id": "CNYUSD",
"Name": "CNY/USD",
"Rate": "0.1529",
"Date": "9/6/2017",
"Time": "8:35am",
"Ask": "0.1530",
"Bid": "0.1529"
},
{
"id": "CNYGBP",
"Name": "CNY/GBP",
"Rate": "0.1173",
"Date": "9/6/2017",
"Time": "8:35am",
"Ask": "0.1174",
"Bid": "0.1173"
}
]
}
- 對(duì)照J(rèn)SON寫出相應(yīng)Java實(shí)體類鹃骂,一般有很多類良价,按照層級(jí)遞進(jìn)的關(guān)系一次寫對(duì)應(yīng)類,對(duì)于[](數(shù)組)類型的數(shù)據(jù),采用List<>泛型谷醉。
屬性全為private拒秘,不需要的屬性可以不寫,并寫出對(duì)應(yīng)Getter/Setter方法,也可以搜索在線生成JSON轉(zhuǎn)Java實(shí)體類。(代碼均是片段)
public class Results {
private List<Rate> rate = null;
public Results() {
}
public Results(List<Rate> rate) {
this.rate = rate;
}
public List<Rate> getRate() {
return rate;
}
}
public class Rate {
private String id;
private String Rate;
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setRate(String Rate) {
this.Rate = Rate;
}
public String getRate() {
return Rate;
}
- 在主函數(shù)里運(yùn)行(片段)
Gson gson = new Gson();
主實(shí)體類 bean = gson.fromJson(jsonString, 主實(shí)體類.class);
Query query = bean.getQuery(); //由外到內(nèi)依次生成實(shí)體類對(duì)象,Query類沒(méi)有列出來(lái),他是json數(shù)據(jù)中results的上一層矮烹。
Results results = query.getResults();
List<Rate> rate = results.getRate();
double RMB_To_USD = rate.get(0).getRate();//得到人民幣兌美元匯率
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者