Google Gson使用简介

1.Google Gson在android studio的使用

  gradle:compile 'com.google.code.gson:gson:2.2.4'

2.Gson 注解

  @Expose

  注解的作用是序列化和反序列化的时候暴露给Gson,没有这个注解,字段可以不被转换

  @SerializedName

  此注解作用在属性上,表明这个属性在序列化成Json的时候,需要将名字序列化成注解的value属性指定的值。

  @Since和@Until具体查看Api文档

3.使用

  1)实体类

  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中转换

  

【声明】 

欢迎转载,但请保留文章原始出处

博客地址:http://www.cnblogs.com/lping/

文章来源:http://www.cnblogs.com/lping/p/5470588.html

原文地址:https://www.cnblogs.com/lping/p/5470588.html