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
Constructors
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) 从读取器读取下一个 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
示例
使用您选择的任何编辑器创建以下 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 }