Gson-类


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

类别声明

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

public final class Gson 
   extends Object 

构造函数

先生编号 构造函数及描述
1

格森()

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

类方法

先生编号 方法及说明
1

<T> T fromJson(JsonElement json, Class<T> classOfT)

该方法将从指定解析树读取的Json反序列化为指定类型的对象。

2

<T> T fromJson(JsonElement json, 类型 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(阅读器 json, 类型 typeOfT)

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

6

<T> T fromJson(String json, Class<T> classOfT)

该方法将指定的Json反序列化为指定类的对象。

7

<T> T fromJson(字符串 json, 类型 typeOfT)

该方法将指定的Json反序列化为指定类型的对象。

8

<T> TypeAdapter<T> getAdapter(Class<T> 类型)

返回类型的类型适配器。

9

<T> TypeAdapter<T> getAdapter(TypeToken<T> 类型)

返回类型的类型适配器。

10

<T> TypeAdapter<T> getDelegateAdapter(TypeAdapterFactory skipPast, TypeToken<T> 类型)

此方法用于获取指定类型的替代类型适配器。

11

字符串 toJson(JsonElement jsonElement)

将 JsonElements 树转换为其等效的 JSON 表示形式。

12

void toJson(JsonElement jsonElement,可附加写入器)

写出 JsonElements 树的等效 JSON。

13

void toJson(JsonElement jsonElement, JsonWriter writer)

将 jsonElement 的 JSON 写入 writer。

14

字符串 toJson(对象 src)

此方法将指定的对象序列化为其等效的 Json 表示形式。

15

void toJson(对象 src,可附加写入器)

此方法将指定的对象序列化为其等效的 Json 表示形式。

16

字符串 toJson(对象 src, 类型 typeOfSrc)

此方法将指定的对象(包括泛型类型的对象)序列化为其等效的 Json 表示形式。

17 号

void toJson(对象 src,类型 typeOfSrc,可附加写入器)

此方法将指定的对象(包括泛型类型的对象)序列化为其等效的 Json 表示形式。

18

void toJson(对象 src, 类型 typeOfSrc, JsonWriter writer)

将 typeOfSrc 类型的 src 的 JSON 表示形式写入 writer。

19

JsonElement toJsonTree(对象 src)

此方法将指定对象序列化为等效的 JsonElements 树表示形式。

20

JsonElement toJsonTree(对象 src, 类型 typeOfSrc)

此方法将指定的对象(包括泛型类型的对象)序列化为其等效的 JsonElements 树表示形式。

21

字符串转字符串()

继承的方法

该类继承了以下类的方法 -

  • 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 
}