SpringMVC可以接收JSON参数,也可以返回JSON参数,这一切依赖于HttpMessageConverter,HttpMessageConverter可以将一个JSON字符串转为对象,也可以将一个对象转为JSON字符串,实际上它的 底层还是依赖于具体的JSON库,所有的JSON库要在SpringMVC上返回或者接收JSON,都必须提供和自己相关的HttpMessageConverter。SpringMVC默认提供了Jackson和gson的HttpMesageConverter,分别是:MappingJackson2HttpMessageConverter和GsonHttpMessageConverter正因为如此,我们在SpringMVC中,如果要使用JSON和gson我们只需要添加依赖,加完依赖就可以直接使用了。具体的配置是在AllEncompassingFormHttpMessageConverter类中完成的。
Spring Boot对于Spring MVC一脉相承,所有都继承下来了,而且,只要我们在Spring Boot项目中,引入spring-boot-starter-web这个依赖,就自动的加入jackson的依赖,所以一般来说,如果不是非常特殊的需求,建议在Spring Boot中直接使用jackson
例如:创建一个Spring Boot工程,在Starter中为它添加web依赖,创建成功后,我们可以发现它已经自动加入了json依赖
虽然建议使用jackson,如果不想使用,可以直接排除这个依赖,然后引入自己JSON解析库即可。