对象中Date类型 序列化时转换为指定的String类型字符串 发送到前台
package com.qf58.supplier.convert;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* Created with IntelliJ IDEA.
* Description: Json序列化 Data => String yyyy-MM-dd HH:mm:ss
* User: zhubo
* Date: 2017-10-26
* Time: 16:08
*/
public class DateToStringSerializer extends JsonSerializer<Date> {
private static Logger logger = LoggerFactory.getLogger(DateToStringSerializer.class);
private static SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@Override
public void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
String value = dateFormat.format(date);
logger.debug(date.toString() + " ==> " + value);
jsonGenerator.writeString(value);
}
}
实体类中:
@JsonSerialize(using=DateToStringSerializer.class)
public Date getCreateTime() {
return createTime;
}
@JsonSerialize(using=DateToStringSerializer.class)
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}