SpringMVC响应json两种方式
- 可以通过原始响应json方式响应json
@RequestMapping("showOne")
public String showOne(Integer id, HttpServletResponse response) throws IOException {
User user = new User(id, "小黄", 23, 34.5, new Date());
String json = JSONObject.toJSONStringWithDateFormat(user, "yyyy-MM-dd");
response.setContentType("application/json;charset=UTF-8");
PrintWriter writer = response.getWriter();
writer.print(json);
return null;
- 可直接使用springmvc提供@ResponseBody注解 将要转为json的对象直接坐为控制器方法的返回值返回
注意:使用@ResponseBody必须引入jackson相关的依赖
<!--引入jackson依赖-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.0</version>
</dependency>
//使用spring方式完成aiax
@RequestMapping("showOne")
@ResponseBody
public User shoowOne(Integer id) {
User user = new User(id, "小黄", 23, 34.5, new Date());
return user;
}
关于jackson日期类型的设置,可以在实体中直接使用注解设置日期格式
@JsonFormat(pattern = "yyyy-MM-dd") //作用:用来指定在使用@responseBody转换对象为json时对象中日期类型的日期格式
@DateTimeFormat(pattern = "yyyy/MM/dd") //作用:用来指定在接收请求参数时日期格式类型
private Date bir;