- Gson 教程
- Gson - 首页
- Gson - 概述
- Gson - 环境搭建
- Gson - 第一个应用程序
- Gson - 类
- Gson - 对象序列化
- Gson - 数据绑定
- Gson - 对象数据绑定
- Gson - 树模型
- Gson - 流式处理
- Gson - 序列化示例
- Gson - 序列化内部类
- Gson - 自定义类型适配器
- Gson - 空对象支持
- Gson - 版本支持
- 从序列化中排除字段
- Gson 有用资源
- Gson - 快速指南
- Gson - 有用资源
- Gson - 讨论
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
}