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 的格式

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM