Gson Class(Gson Class)
Gson是Google Gson库的主要演员类。 它提供了将Java对象转换为匹配JSON结构的功能,反之亦然。 首先使用GsonBuilder构造Gson,然后使用toJson(Object)或fromJson(String,Class)方法来读/写JSON结构。
Class 声明 (Class Declaration)
以下是com.google.gson.Gson类的声明 -
public final class Gson
extends Object
构造函数 (Constructors)
S.No | 构造函数和描述 |
---|---|
1 | Gson() 使用默认配置构造Gson对象。 |
Class Methods
S.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《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
例子 (Example)
使用您选择的任何编辑器创建以下Java程序,并将其保存在C:/> GSON_WORKSPACE中
File: 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
}