SpringBoot中處理JSON日期格式方式
Spring Boot中處理JSON日期格式
Spring Boot web,往往需要對返回的日期格式進行相應的處理,以下列出目前常用的三種處理日期格式的方式。
一、@JsonFormat
需要在每個日期屬性上,添加@JsonFormat注解,可以是LocalDate 或Date。
public class Contact { @JsonFormat(pattern="yyyy-MM-dd") private LocalDate birthday; @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="Europe/Zagreb") private Date lastUpdate; }
這樣在就可以獲得以下輸出:
{ "birthday": "2019-02-03", "lastUpdate": "2019-02-03 10:08:02" }
二、 配置默認格式
上面方法是對每個日期進行硬編碼,但是如果系統(tǒng)大部分日期需要采用某種格式,則統(tǒng)一設(shè)置最方便,可以在配置中添加以下屬性,則所有的日期都會轉(zhuǎn)換成相應的格式。
對于個別需要特殊處理的,再使用注解單獨配置。
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss spring.jackson.time-zone=Europe/Zagreb
三、自定義Jackson的ObjectMapper
除了使用配置,還可以通過編碼的方式,不過配置肯定最方便,編碼的方式是能夠處理更多的個性化內(nèi)容,如果只是配置日期,有點大材小用了。
@Configuration public class ContactAppConfig { private static final String dateFormat = "yyyy-MM-dd"; private static final String dateTimeFormat = "yyyy-MM-dd HH:mm:ss"; @Bean public Jackson2ObjectMapperBuilderCustomizer jsonCustomizer() { return builder -> { builder.simpleDateFormat(dateTimeFormat); builder.serializers(new LocalDateSerializer(DateTimeFormatter.ofPattern(dateFormat))); builder.serializers(new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(dateTimeFormat))); }; } }
雖然這種方法看起來有點麻煩,但好處是它適用于 Java 8 和傳統(tǒng)的日期類型。
總結(jié)
以上是spring boot中處理日期的常用的三種方式,按照需要選擇即可。
這些僅為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解idea文件右鍵創(chuàng)建New沒有Create New Servlet的解決辦法
這篇文章主要介紹了詳解idea文件右鍵創(chuàng)建New沒有Create New Servlet的解決辦法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12SpringCloud客戶端報錯:- was unable to send&nb
這篇文章主要介紹了SpringCloud客戶端報錯:- was unable to send heartbeat!的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05springboot中pom.xml文件注入test測試依賴時報錯的解決
這篇文章主要介紹了springboot中pom.xml文件注入test測試依賴時報錯的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03springboot項目實現(xiàn)多數(shù)據(jù)源配置使用dynamic-datasource-spring-boot-starter
這篇文章主要介紹了springboot項目實現(xiàn)多數(shù)據(jù)源配置使用dynamic-datasource-spring-boot-starter,本文分步驟結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2023-06-06Spring security如何實現(xiàn)記錄用戶登錄時間功能
這篇文章主要介紹了Spring security如何實現(xiàn)記錄用戶登錄時間功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-03-03