在Android中使用Gson來解析json數(shù)據(jù)十分方便晨继,可以直接將json數(shù)據(jù)解析成java對象或者集合蜂大。
在解析某天氣網(wǎng)站返回的json數(shù)據(jù)時(shí)常柄,由于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提供注解的方法來解決這個(gè)問題@SerializedName商乎,使用方法如下:
public class Basic {
@SerializedName("city")
public String cityName;
@SerializedName("id")
public String weatherId;
@SerializedName("update")
public String updateTime;
}
這樣再使用Gson解析的時(shí)候就會(huì)將city對應(yīng)的值賦值到cityName屬性上央拖,同樣的如果我們要將Basic生成json字符串使用Gson生成的時(shí)候也會(huì)將cityName的名字生成city。這樣就解決了java對象里屬性名跟json里字段名不匹配的情況了鹉戚。
最后編輯于 :2017.12.06 00:22:46
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者