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
示例
文件:GsonTester.java -
import com.google.gson.Gson; import com.google.gson.GsonBuilder; public class GsonTester { public static void main(String[] args) { String jsonString = "{\"name\":\"Maxsu\", \"age\":24}"; 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+ " ]"; } }
执行上面示例代码,得到以下结果 -
{ "name" : "Maxsu", "age" : 24 }