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 | 此方法将Json读取从指定的解析树反序列化为指定类型的对象. |
2 | < T> T fromJson(JsonElement json,Type typeOfT) 此方法将Json从指定的解析树反序列化为指定类型的对象. |
3 | 从reader读取下一个JSON值并将其转换为typeOfT类型的对象. |
4 | 此方法将指定读者的Json读取反序列化为指定类的对象. |
5 | 此方法将指定阅读器的Json读取反序列化为指定类型的对象. |
6 | 此方法将指定的Json反序列化为指定类的对象. |
7 | 此方法将指定的Json反序列化为指定类型的对象. |
8 | 返回类型的类型适配器. |
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}