日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java笔记-重写JsonSerializer中serialize方法使Json中时间戳/1000

發布時間:2025/3/15 java 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java笔记-重写JsonSerializer中serialize方法使Json中时间戳/1000 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

?

?

問題演示

解決方法


?

問題演示

出現的為問題如下:

去掉這個createTime和updateTIme中的000,也就是/1000,這里其實有很多方法,可以在構造的時候/1000,但這并不是最好的方法,通過重寫JsonSerializer<T>中的serialize方法,再到想要的成員上加上注解即可:

通過這種方式解決這個問題是比較好的方法

?

解決方法

關鍵代碼如下:

Date2LongSerializer.java

package selldemo.demo.utils.serializer;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 java.io.IOException; import java.util.Date;public class Date2LongSerializer extends JsonSerializer<Date> {@Overridepublic void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {jsonGenerator.writeNumber(date.getTime() / 1000);} }

OrderDTO.java

package selldemo.demo.dto;import com.fasterxml.jackson.databind.annotation.JsonSerialize; import lombok.Data; import selldemo.demo.dataobject.OrderDetail; import selldemo.demo.enums.OrderStatusEnum; import selldemo.demo.enums.PayStatusEnum; import selldemo.demo.utils.serializer.Date2LongSerializer;import java.math.BigDecimal; import java.util.Date; import java.util.List;@Data public class OrderDTO {private String orderId;private String buyerName;private String buyerPhone;private String buyerAddress;private String buyerOpenid;private BigDecimal orderAmount;//訂單狀態 默認為下單private Integer orderStatus = OrderStatusEnum.NEW.getCode();//支付狀態 默認為0未支付private Integer payStatus = PayStatusEnum.WAIT.getCode();@JsonSerialize(using = Date2LongSerializer.class)private Date createTime;@JsonSerialize(using = Date2LongSerializer.class)private Date updateTime;List<OrderDetail> orderDetailList; }

?

總結

以上是生活随笔為你收集整理的Java笔记-重写JsonSerializer中serialize方法使Json中时间戳/1000的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。