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

SpringMVC返回Json,自定义Json中Date类型格式

2014-06-16 16:11 435 查看
/article/5690330.html————————————————————————————————————————————————————————————

SpringMVC返回Json,自定义Json中Date类型格式

SpringMVC返回Json数据依赖jackson这个开源的第三方类库。

若不加任何说明情况下Date类型将以时间戳的形式转换为Json并返回。

jackson提供了一些自定义格式的方法。我们只需继承它的抽象类JsonSerializer<T> ,并在指定的属性方法上添加注解@JsonSerialize即可实现。

1.编写Date转换类(yyyy-MM-dd)

public class CustomDateSerializer extends JsonSerializer<Date>
{
public void serialize(Date date, JsonGenerator gen, SerializerProvider provider)throws IOException, JsonProcessingException
{
SimpleDateFormat format =new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = format.format(date);
gen.writeString(formattedDate);
}
} 2.javabean中对应属性的get()方法添加注解

package com.easyui.model;

import java.util.Date;

import org.codehaus.jackson.map.annotate.JsonSerialize;
import org.springframework.format.annotation.DateTimeFormat;

import com.easyui.utils.CustomDateSerializer;

public class User {
private Integer id;

private String username;

private String password;

private String realname;

private String sex;

private Date birthday;

public int getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public String getRealname() {
return realname;
}

public void setRealname(String realname) {
this.realname = realname;
}

public String getSex() {
return sex;
}

public void setSex(String sex) {
this.sex = sex;
}

@JsonSerialize(using=CustomDateSerializer.class)
public Date getBirthday() {
return birthday;
}

public void setBirthday(Date birthday) {
this.birthday = birthday;
}
} 至此,就可以实现返回的JSON数据中日期格式自动转换为:yyyy-MM-dd 的格式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: