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

示例

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

文件 - 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 
}
广告

© . All rights reserved.