Gson在Spring MVC中的使用

最近在用Spring MVC搭建一套Restful API,整个过程的最后一步就是数据序列化。Spring MVC默认使用Jackson,但在使用过程中并不如想象中的顺手。因而尝试转向Gson

Gson是Google出品的用来进行Java Object和JSON转换的类库。有人曾对Gson和Jackson的性能做过比较,Gson在读取和写入方面的速度都要逊于Jackson。不过现前并不需要在性能上作过多要求,容易上手和提高开发效率才是这个项目的重中之重。

基本

使用Gson来反序列化JSON十分简单,如下:

User
1
2
3
4
5
6
7
public class User{
private String name;
private String password;

public User(String name, String password){...}
...
}
Gson反序列化User
1
2
3
4
5
Gson gson = new Gson();
gson.toJson(new User("hello", "world"), User.class);

// Result:
// {"name": "hello", "password": "world"}

但Gson的优点不仅仅在于这点,而是在自定义序列化方面。