为了方便前后端开发,和动静剥离(前后端分离)的开发模式,springmvc也对json有自己的一套支持,
json分为jackson和fastJson两种,前一种springmvc默认便是支持的,如果需要换成fastJson需要自己引入依赖和配置在springmvc里面。
首先看下对jackson所需要的依赖(注意这里有坑,记得去maven库里找官方的依赖,之前网上看到一篇帖子,里面的依赖试了很久没起作用)
下面看如果需要把jackson换成fastJson需要的依赖(fastJson使用相对于jackson好处在于,如果对象里面的属性是null值便不会把属性的值设置成字符串null,可以省去前端开发很多事情,方便他人也是方便自己)
然后在springmvc的处理器适配器里面配置对json的支持,但是如果使用的是<mvc:annotation-driven>那么就可以什么都不配置了,springmvc自动就帮我们添加了对json格式的支持。但是我们这里希望换成fastjson,所以需要来配置上fastjson
上面的StringHttpMessageConverter是避免json格式乱码使用的,但是好像我怎么配置都没起作用,下面那个通过FastJsonHttpMessageConverter名字就可以看出是把默认的jackson换成了我们的fastJson
然后下面来看看我们程序
先看返回对象直接转换成json
通过@ResponseBody这个注解告诉springmvc把对象直接返回成json格式,在@RequestMapping上我们添加了produces ="application/json; charset=utf-8 发现返回json的乱码问题解决了
下面看接收json格式的数据直接转换成对象
这里使用@RequestBody这个注解
下面是我们通过ajax调用
然后看我们的请求参数和返回
这样简便了开发,替换了之前把对象先转成jsonString,然后通过response的print或者write的方式去输出。