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
}


