当前位置: 首页 > 文档资料 > Gson 中文教程 >

Gson Class(Gson Class)

优质
小牛编辑
134浏览
2023-12-01

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

Class 声明 (Class Declaration)

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

public final class Gson 
   extends Object 

构造函数 (Constructors)

S.No构造函数和描述
1

Gson()

使用默认配置构造Gson对象。

Class Methods

S.No方法和描述
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)

此方法将指定读取器的Json读取反序列化为指定类的对象。

5

《T》 T fromJson(Reader json, Type typeOfT)

此方法将指定读取器的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)

返回类型的类型适配器。

9

《T》 TypeAdapter《T》 getAdapter(TypeToken《T》 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

例子 (Example)

使用您选择的任何编辑器创建以下Java程序,并将其保存在C:/> GSON_WORKSPACE中

File: GsonTester.java

import com.google.gson.Gson; 
import com.google.gson.GsonBuilder;  
public class GsonTester { 
   public static void main(String[] args) { 
      String jsonString = "{\"name\":\"Mahesh\", \"age\":21}"; 
      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+ " ]"; 
   }  
}

验证结果

使用javac编译器编译类如下 -

C:\GSON_WORKSPACE>javac GsonTester.java 

现在运行GsonTester查看结果 -

C:\GSON_WORKSPACE>java GsonTester

验证输出

Student [ name: Mahesh, age: 21 ] 
{ 
   "name" : "Mahesh", 
   "age" : 21 
}