Gson的简单使用
程序员文章站
2024-03-16 09:45:46
...
Gson是谷歌开发的一款Java实例与Json格式数据互相转换的工具。
一、引入Gson依赖包
- Maven依赖
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
二、如何使用
Gson的使用非常简单,只需要初始化一个Gson对象的实例,即可以开始使用。
Gson gson = new Gson();
- Java对象转换为Json格式数据
String json = gson.toJson(JavaBean);
- Json格式数据转换为Java对象
JavaBean javabean = gson.fromJson(json, JavaBean.class);
注意:
- 当字段值为null时,Gson默认会忽略该字段的赋值,也就是如果你的JavaBean是Map时,那么你得到的Map中将不会有该字段的key-value,使用时需要注意;
三、结合泛型进行使用
- 定义一个含泛型的JavaBean
public class BackMessage<T> {
private Boolean success;
private String message;
private List<T> data;
...
}
- 使用Gson将json数据解析为BackMessage实例
这种写法无法正常解析,因为Gson无法识别到泛型的实际类型,所以BackMessage的List中实际装的是Map,并不是期望的Student
BackMessage<Student> backMessage = gson.fromJson(json,BackMessage.class);
为了能够准确解析数据,我们需要使用下面这种写法:
BackMessage<Student> backMessage = gson.fromJson(json, new TypeToken<BackMessage<Student>>() {}.getType());
这样Gson就能够准确识别到泛型的类型了。