1.Google Gson在android studio的使用html
gradle:compile 'com.google.code.gson:gson:2.2.4'java
2.Gson 註解android
@Exposejson
註解的做用是序列化和反序列化的時候暴露給Gson,沒有這個註解,字段能夠不被轉換gradle
@SerializedNameui
此註解做用在屬性上,代表這個屬性在序列化成Json的時候,須要將名字序列化成註解的value屬性指定的值。this
@Since和@Until具體查看Api文檔google
3.使用spa
1)實體類code
public class User {
@Expose
@SerializedName("user_name")
private String userName;
@Expose
private int id;
private int age;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
2)json數據
{
"user_name"
:
"Andi"
,
"id"
:
20,"age":27
}
3)解析
Gson gson = new Gson();
User user = gson.fromJson(json字符串數據, User.class);
不轉換沒有 @Expose 註解的字段
GsonBuilder builder = new GsonBuilder();
builder.excludeFieldsWithoutExposeAnnotation();
Gson gson = builder.create();
User user = gson.fromJson(json字符串數據,new TypeToken<User>() {}.getType());
這樣user對象的age是0,沒有從json中轉換
【聲明】
歡迎轉載,但請保留文章原始出處