Gson 的 GitHub 主页点击这里:Gson
一、Gson的基本用法
1.1、Gson对象
在进行序列化与反序列操作前,需要先实例化一个 com .google.gson.Gson
对象,获取 Gson 对象的方法有两种
//通过构造函数来获取
Gson gson = new Gson();
//通过 GsonBuilder 来获取,可以进行多项特殊配置
Gson gson = new GsonBuilder().create();
1.2、生成 Json
利用 Gson 可以很方便地生成 Json 字符串,通过使用 addProperty
的四个重载方法
public static void main(String[] args) {
JsonObject jsonObject = new JsonObject();
jsonObject.addProperty(“String”, “leavesC”);
jsonObject.addProperty(“Number_Integer”, 23);
jsonObject.addProperty(“Number_Double”, 22.9);
jsonOb
《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享
ject.addProperty(“Boolean”, true);
jsonObject.addProperty(“Char”, ‘c’);
System.out.println();
System.out.println(jsonObject);
}
addProperty
方法底层调用的是 add(String property, JsonElement value)
方法,即将基本数据类型转化为了 JsonElement 对象,JsonElement 是一个抽象类,而 JsonObject 继承了 JsonElement ,因此我们可以通过 JsonObject 自己来构建一个 JsonElement
public static void main(String[] args) {
JsonObject jsonObject = new JsonObject();
jsonObject.addProperty(“String”, “leavesC”);
jsonObject.addProperty(“Number”, 23);
jsonObject.addProperty(“Number”, 22.9);
jsonObject.addProperty(“Boolean”, true);
jsonObject.addProperty(“Char”, ‘c’);
JsonObject jsonElement = new JsonObject();
jsonElement.addProperty(“Boolean”, false);
jsonElement.addProperty(“Double”, 25.9);
jsonElement.addProperty(“Char”, ‘c’);
jsonObject.add(“JsonElement”, jsonElement);
System.out.println();
System.out.println(jsonObject);
}
1.3、Json与数组、List的转化
Json数组 与 字符串数组
public static void main(String[] args) {
//Json数组 转为 字符串数组
Gson gson = new Gson();
String jsonArray = “[“https://github.com/leavesC”,“https://www.jianshu.com/u/9df45b87cfdf”,“Java”,“Kotlin”,“Git”,“GitHub”]”;
String[] strings = gson.fromJson(jsonArray, String[].class);
System.out.println("Json数组 转为 字符串数组: “);
for (String string : strings) {
System.out.println(string);
}
//字符串数组 转为 Json数组
jsonArray = gson.toJson(jsonArray, new TypeToken() {
}.getType());
System.out.println(”\n字符串数组 转为 Json数组: ");
System.out.println(jsonArray);
}
Json数组 与 List
public static void main(String[] args) {
//Json数组 转为 List
Gson gson = new Gson();
String jsonArray = “[“https://github.com/leavesC”,“https://www.jianshu.com/u/9df45b87cfdf”,