一、综述
Gson是一个java依赖包,能够将Java对象转换成对应的JSON的描述形式。当然,你也可以逆向将JSON转换成对应的Java对象。
二、Gson的目标
- 使Java和JSON的转换更加方便
- 允许已存在的不可变的对象和JSON进行互转
- 允许对对象定制地描述
- 支持复杂的对象
- 生成简洁以及可读的JSON输出
三、使用Gson
通过调用new Gson()可以创建一个Gson,也可以通过GsonBuilder来创建Gson实例。
基本类型示例:
(序列化)
Gson gson = new Gson();
gson.toJson(1); ====> prints 1
gson.toJson("abcd"); ===> prints "abcd"
int[] values = {1};
gson.toJson(values); ===>prints [1]
(反序列化)
int one = gson.fromJson("1", int.class);
Boolean false = gson.fromJson("false", Boolean.class);
String str = gson.fromJson("\"abc"", String.class);
对象类型示例:
class BagOfPrimitives {
private int value1 = 1;
private String value2 = "abc";
private transient int value3 = 3;
}
(序列化)
BagOfPrimitives obj = new BagOfPrimitives();
Gson gson = new Gson();
String json = gson.toJson(obj); ====>json is {"value1":1,"value2":"abc"}
(反序列化)
BagOfPrimitives obj2 = gson.fromJson(json, BagOfPrimitives.class);
注意事项:
- 属性使用private
- 如果不需要JSON转换的属性,可以标记为“transient”