在Android中使用Gson來解析json數(shù)據(jù)十分方便,可以直接將json數(shù)據(jù)解析成java對象或者集合。
在解析某天氣網(wǎng)站返回的json數(shù)據(jù)時,由于JSON中的一些字段直接使用Java字段來命名可能不合適,這里可以使用@SerializedName注解的方式來讓JSON字段和Java字段之間建立映射關(guān)系。
具體使用方法,下面以一段代碼為例:
“basic”:{
"city":"上海",
"id":"CN0000001",
"update":"2016-08-08 21:58"
}
不使用@SerializedName注解,正常使用basic類來解析的話:
public class Basic {
public String city;
public String id;
public String update;
}
Basic類要這樣寫才能直接使用Gson直接解析出來,但是這樣對屬性命名顯然不太友好,那我們要怎么做呢?Gson提供注解的方法來解決這個問題@SerializedName,使用方法如下:
public class Basic {
@SerializedName("city")
public String cityName;
@SerializedName("id")
public String weatherId;
@SerializedName("update")
public String updateTime;
}
這樣再使用Gson解析的時候就會將city對應(yīng)的值賦值到cityName屬性上,同樣的如果我們要將Basic生成json字符串使用Gson生成的時候也會將cityName的名字生成city。這樣就解決了java對象里屬性名跟json里字段名不匹配的情況了。
最后編輯于 :2017.12.06 00:22:46
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者 平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。