通过自定义的一个子类 继承 JsonSerializer类 然后重写里面的方法 public void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException
之后我们在需要将Date转换成long的实体类中 添加注解 @JsonSerialize(using = Date2LongSerializer.class) 即可。
代码如下:
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
import java.util.Date;
/** * @author kenshin * @date 2018/7/27 上午8:42 */
public class Date2LongSerializer extends JsonSerializer<Date> {
@Override
public void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
jsonGenerator.writeNumber(date.getTime() / 1000);
}
}
/** * DTO的意思就是 data transform object 数据传输对象 * 对应OrderMaster 只是里面多了一些 list * @author kenshin * @date 2018/7/19 下午10:29 */
@Data
public class OrderDTO {
//、、、省略其他属性
//创建时间
@JsonSerialize(using = Date2LongSerializer.class)//这里 using的类是我们自己创建的 用于将这里的时间转换成 long 秒精度
private Date createTime;
//更新时间
@JsonSerialize(using = Date2LongSerializer.class)
private Date updateTime;
}
我们可以测试在不加字段前返回的数值 和添加之后返回的数值,是不同的
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。