开发手册 欢迎您!
软件开发者资料库

Gson - 类

Gson类 - 从基本概念到高级概念,从简单和简单的步骤学习Gson,包括概述,环境设置,第一个应用程序,Gson类,对象序列化,数据绑定,对象数据绑定,树模型,流API,序列化示例,数组,集合,泛型,序列化内部类,静态嵌套,非静态嵌套类,具有嵌套静态和非静态类的内部类,自定义类型适配器,自定义序列化,反序列化,空对象,版本控制支持,从序列化中排除字段。

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 fromJson(JsonElement json, Class classOfT)

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

2

< T> T fromJson(JsonElement json,Type typeOfT)

此方法将Json从指定的解析树反序列化为指定类型的对象.

3

T fromJson(JsonReader reader, Type typeOfT)

从reader读取下一个JSON值并将其转换为typeOfT类型的对象.

4

T fromJson(Reader json, Class classOfT)

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

5

T fromJson(Reader json, Type typeOfT)

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

6

T fromJson(String json, Class classOfT)

此方法将指定的Json反序列化为指定类的对象.

7

T fromJson(String json, Type typeOfT)

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

8

TypeAdapter getAdapter(Class 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表示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}