implementation 'com.google.code.gson:gson:2.8.9'
1.1、Gson对象
在进行序列化与反序列操作前,需要先实例化一个 com .google.gson.Gson
对象,获取 Gson 对象的方法有两种
//通过构造函数来获取
Gson gson = new Gson();
//通过 GsonBuilder 来获取,可以进行多项特殊配置
Gson gson = new GsonBuilder().create();
1.2、生成 Json
利用 Gson 可以很方便地生成 Json 字符串,通过使用 addProperty
的四个重载方法
JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("String", "leavesC");
jsonObject.addProperty("Number_Integer", 23);
jsonObject.addProperty("Number_Double", 22.9);
jsonObject.addProperty("Boolean", true);
jsonObject.addProperty("Char", 'c');
1.3、序列化与反序列化
Gson 也提供了 toJson()
和 fromJson()
两个方法用于转化 Model 与 Json,前者实现了序列化,后者实现了反序列化
首先,声明一个 User 类
public class User {
private String name;
private int age;
private boolean sex;
public User(String name, int age, boolean sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
", sex=" + sex +
'}';
}
}
序列化的方法很简单,调用 gson 对象的 toJson 方法,传入要序列化的对象
User user = new User("leavesC", 24, true);
Gson gson = new Gson();
gson.toJson(user);//json字符串
反序化的方式也类似
Gson gson = new Gson();
User user = gson.fromJson(userJson, User.class);//userJson为json字符串