Gson - 类

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

类声明

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

public final class Gson 
   extends Object

构造函数

Sr.No构造函数&描述
1

Gson()

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

类方法

Sr.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&LT; T&GT; getAdapter(TypeToken< T> type)

返回类型的类型适配器.

10

< T> TypeAdapter&LT; T&GT; 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表示a/.

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表示为wr iter.

19

JsonElement toJsonTree(Object src)

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

20

JsonElement toJsonTree(Object src,Type typeOfSrc)

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

21

字符串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
}