Gson class
gson class
gson 是google gson 库的主要类。它提供了将 java 对象转换为匹配json结构的功能,反之亦然。首先使用 gsonbuilde r构造 gson,然后使用 tojson(object)或fromjson(string,class)方法来读/写 json 结构。
1. 类声明
以下是 com.google.gson.gson 类的声明-
public final class gson extends object
2. 构造函数
s.no | 构造函数和描述 |
---|---|
1 | gson() 使用默认配置构造gson对象。 |
3. 分类方法
s.no | 方法和描述 |
---|---|
1 | t fromjson(jsonelement json, class classoft) 此方法将json读取从指定的解析树反序列化为指定类型的对象。 |
2 | t fromjson(jsonelement json, type typeoft) 此方法将json读取从指定的解析树反序列化为指定类型的对象。 |
3 | t fromjson(jsonreader reader, type typeoft) 从reader读取下一个json值并将其转换为typeoft类型的对象。 |
4 | t fromjson(reader json, class classoft) 此方法将指定读取器的json读取反序列化为指定类的对象。 |
5 | t fromjson(reader json, type typeoft) 此方法将指定读取器的json读取反序列化为指定类型的对象。 |
6 | t fromjson(string json, class classoft) 此方法将指定的json反序列化为指定类的对象。 |
7 | t fromjson(string json, type typeoft) 此方法将指定的json反序列化为指定类型的对象。 |
8 | typeadapter getadapter(class type) 返回类型的类型适配器。 |
9 | typeadapter getadapter(typetoken type) 返回类型的类型适配器。 |
10 | typeadapter getdelegateadapter(typeadapterfactory skippast, typetoken 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() |
4. 方法继承
该类继承以下类中的方法:
- java.lang.object继承
1) 范例
使用您选择的任何编辑器创建以下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+ " ]"; } }
2) 验证结果
使用 javac 编译器编译类如下:
c:\gson_workspace>javac gsontester.java
现在运行gsontester查看结果:
c:\gson_workspace>java gsontester
验证输出
student [ name: mahesh, age: 21 ] { "name" : "mahesh", "age" : 21 }