Gson类

Gson是Google Gson库的主要操作类。 它提供了将Java对象转换为匹配的JSON结构的功能,反之亦然。 Gson首先使用GsonBuilder构建,然后使用toJson(Object)fromJson(String,Class)方法读取/写入JSON构造。

类声明

以下是com.google.gson.Gson类的声明 -

public final class Gson 
   extends Object

构造函数

编号 构造函数 说明
1 Gson() 用默认配置构造一个Gson对象。

类方法

编号 方法 描述
1 <T> T fromJson(JsonElement json, Class<T> classOfT) 此方法将从指定分析树读取的Json反序列化为指定类型的对象。
2 <T> T fromJson(JsonElement json, Type typeOfT) 此方法将从指定分析树读取的Json反序列化为指定类型的对象。
3 <T> T fromJson(JsonReader reader, Type typeOfT) reader中读取下一个JSON值并将其转换为typeOfT类型的对象。
4 <T> T fromJson(Reader json, Class<T> classOfT) 此方法将从指定Reader读取的Json反序列化为指定类的对象。
5 <T> T fromJson(Reader json, Type typeOfT) 此方法将从指定reader读取的Json反序列化为指定类型的对象。
6 <T> T fromJson(String json, Class<T> classOfT) 此方法将指定的Json反序列化为指定类的对象。
7 <T> T fromJson(String json, Type typeOfT) 此方法将指定的Json反序列化为指定类型的对象。
8 <T> TypeAdapter<T> getAdapter(Class<T> type) 返回type的类型适配器。
9 <T> TypeAdapter<T> getAdapter(TypeToken<T> type) 返回type的类型适配器。
10 <T> TypeAdapter<T> getDelegateAdapter(TypeAdapterFactory skipPast, TypeToken<T> type) 此方法用于获取指定类型的备用类型适配器。
11 String toJson(JsonElement jsonElement) JsonElements树转换为其等效的JSON表示形式。
12 void toJson(JsonElement jsonElement, Appendable writer) JsonElements树写出等价的JSON。
13 void toJson(JsonElement jsonElement, JsonWriter writer) jsonElement的JSON写入writer
14 String toJson(Object src) 此方法将指定的对象序列化为其等效的Json表示形式。
15 void toJson(Object src, Appendable writer) 此方法将指定的对象序列化为其等效的Json表示形式。
16 String toJson(Object src, Type typeOfSrc) 此方法将指定对象(包括泛型类型的对象)序列化为其等效的Json表示形式。
17 void toJson(Object src, Type typeOfSrc, Appendable writer) 此方法将指定对象(包括泛型类型的对象)序列化为其等效的Json表示形式。
18 void toJson(Object src, Type typeOfSrc, JsonWriter writer) typeOfSrc类型的src的JSON表示写入writer
19 JsonElement toJsonTree(Object src) 此方法将指定对象序列化为与JsonElements树相同的表示形式。
20 JsonElement toJsonTree(Object src, Type typeOfSrc) 此方法将指定对象(包括泛型类型的对象)序列化为与JsonElements树相同的表示形式。
21 String toString() 转化为字符串的形式。

继承的方法

这个类继承了以下类的方法 -

  • java.lang.Object

示例

文件:GsonTester.java -

import com.google.gson.Gson; 
import com.google.gson.GsonBuilder;  

public class GsonTester { 
   public static void main(String[] args) { 
      String jsonString = "{\"name\":\"Maxsu\", \"age\":24}"; 

      GsonBuilder builder = new GsonBuilder(); 
      builder.setPrettyPrinting(); 

      Gson gson = builder.create(); 
      Student student = gson.fromJson(jsonString, Student.class); 
      System.out.println(student);    

      jsonString = gson.toJson(student); 
      System.out.println(jsonString);  
   } 
}  
class Student { 
   private String name; 
   private int age; 
   public Student(){} 

   public String getName() { 
      return name; 
   } 
   public void setName(String name) { 
      this.name = name; 
   } 
   public int getAge() { 
      return age;
   } 
   public void setAge(int age) { 
      this.age = age; 
   } 
   public String toString() { 
      return "Student [ name: "+name+", age: "+ age+ " ]"; 
   }  
}

执行上面示例代码,得到以下结果 -

{ 
   "name" : "Maxsu", 
   "age" : 24 
}

上一篇:Gson入门程序

下一篇:Gson对象序列化

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程