您的位置:首页 > 编程语言 > Java开发

springmvc 返回json格式中date的处理

2016-10-31 21:48 363 查看

springmvc 返回json格式中date的处理

在使用springmvc 的过程中,直接返回json对象的时候,如果包含date类型的对象,默认转换成json的时候是转换成long型的格式,不是我们常用的"yyyy-MM-dd HH:mm:ss"格式。
这时候需要做一个转换,比较喜欢下面的方式,直接在实体类中注解:
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")


这样,springmvc自动的会利用jackson把date类型转换成你需要的格式。

好了,下面是一个例子:
package com.xueyou.ssm.model;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.util.Date;

/**
* Created by wuxueyou on 16/10/31.
*/
public class User {
private String name;
private int age;
private Date date;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
public Date getDate() {
return date;
}

public void setDate(Date date) {
this.date = date;
}
}

package com.xueyou.ssm.controller;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xueyou.ssm.model.User;
import com.xueyou.ssm.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

/**
* Created by wuxueyou on 16/10/11.
*/
@RestController
@RequestMapping(value = "/user",method = {RequestMethod.GET,RequestMethod.POST},produces = "application/json;charset=UTF-8")
public class UserController {
@Autowired
private UserService userService;

@RequestMapping(value = "/userlist")
public Map<String, Object> userList(String pageNum,String pageSize) {
Map<String,Object> params = new HashMap<String,Object>();
//        params.put("pageNum",pageNum);
//        params.put("pageSize",pageSize);
return userService.userList(params);
}

@RequestMapping(value = "/testjson")
public Map<String,Object> testjson(){
User u = new User();
u.setDate(new Date());
u.setAge(12);
u.setName("xxx");
Map<String,Object> resMap = new HashMap<>();
resMap.put("user",u);
return resMap;
}

}


测试一下返回:



后记:
发现转换后的时间不正确,因为没有指定时区:
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")

这样就ok了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring mvc