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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

格式化json_在Spring Boot中格式化JSON日期

發布時間:2025/3/20 javascript 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 格式化json_在Spring Boot中格式化JSON日期 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.概述

在本教程中,我們將展示如何在Spring Boot應用程序中格式化JSON日期字段。 我們將探討使用Jackson格式化日期的各種方法,它被Spring Boot用作默認的JSON處理器。

2.在日期字段上使用@JsonFormat

2.1設置格式

我們可以使用 @JsonFormat注釋來格式化特定字段:

public class Contact {

// other fields

@JsonFormat(pattern="yyyy-MM-dd")

private LocalDate birthday;

@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")

private LocalDateTime lastUpdate;

// standard getters and setters

}

在生日字段上,我們使用的格式只顯示日期,而在 lastUpdate字段中我們也包含時間。 我們使用了Java 8日期類型,它們非常便于處理時態類型。當然,如果我們需要使用像java.util.Date 這樣的遺留類型 ,我們可以以相同的方式使用注釋:

public class ContactWithJavaUtilDate {

// other fields

@JsonFormat(pattern="yyyy-MM-dd")

private Date birthday;

@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")

private Date lastUpdate;

// standard getters and setters

}

最后,讓我們看看使用給定日期格式的@JsonFormat 呈現的輸出 :

{

"birthday": "2019-02-03",

"lastUpdate": "2019-02-03 10:08:02"

}

我們可以看到,使用@JsonFormat 注釋是格式化特定日期字段的絕佳方法。 但是,我們只應在需要字段的特定格式時使用它。如果我們想要在我們的應用程序中使用所有日期的通用格式,那么如何實現這一目標的方式更好,我們稍后會看到。

2.2設置時區

另外,如果我們需要使用特定的時區,我們可以設置@JsonFormat的timezone屬性:

@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="Europe/Zagreb")

private LocalDateTime lastUpdate;

如果類型已包含時區,則不需要使用它,例如使用 java.time.ZonedDatetime.

3.配置默認格式

雖然@JsonFormat本身很強大,但對格式和時區進行硬編碼可能會讓我們陷入困境。 如果我們要為應用程序中的所有日期配置默認格式,則更靈活的方法是在application.properties中配置它:

spring.jackson.date-format=yyyy-MM-dd HH:mm:ss

如果我們想在JSON日期中使用特定時區,那么還有一個屬性:

spring.jackson.time-zone=Europe/Zagreb

盡管設置這樣的默認格式非常方便直接,但這種方法存在缺陷。不幸的是,它不適用于Java 8日期類型,如 LocalDate 和 LocalDateTime - 我們只能使用它來格式化java.util.Date或 java.util.Calendar類型的字段 。 但是,我們很快就會看到希望。

4.自定義Jackson的ObjectMapper

因此,如果我們想使用Java 8日期類型 并 設置默認日期格式,那么我們需要查看創建一個 Jackson2ObjectMapperBuilderCustomizer bean:

@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)));

};

}

}

上面的示例顯示了如何在我們的應用程序中配置默認格式。我們必須定義一個bean并覆蓋其自定義方法以設置所需的格式。 雖然這種方法可能看起來有點麻煩,但它的優點在于它適用于Java 8和遺留日期類型。

5.結論

在本文中,我們探索了許多在Spring Boot應用程序中格式化JSON日期的方法。

與往常一樣,我們可以在GitHub上找到示例的源代碼。

原文鏈接:https://www.baeldung.com/spring-boot-formatting-json-dates

作者: baeldung

譯者:Yunooa

推薦:?Spring Cloud Alibaba基礎教程:使用Nacos實現服務注冊與發現

上一篇:如何編寫自己的Spring Boot Rest服務

?關注公眾號

點擊原文

總結

以上是生活随笔為你收集整理的格式化json_在Spring Boot中格式化JSON日期的全部內容,希望文章能夠幫你解決所遇到的問題。

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