Spring Boot で Java 8 LocalDateTime を JSON に適切にシリアル化する方法は?

Mary-Kate Olsen
リリース: 2024-11-23 22:27:11
オリジナル
133 人が閲覧しました

How to Properly Serialize Java 8 LocalDateTime to JSON in Spring Boot?

Spring Boot での Java 8 LocalDateTime から JSON への変換

Spring Boot では、JSON 出力用に Java 8 LocalDateTime オブジェクトをフォーマットすると課題が生じる可能性があります。従来の日付書式設定は期待どおりに機能しますが、LocalDateTime には特有の書式設定の問題があります。

よくある問題の 1 つは、LocalDateTime フィールドが、代わりに「年」、「月」などの属性を含む詳細な構造に変換されることです。単純な文字列表現です。この問題に対処するには、追加の構成が必要です。

これを解決するには、次の手順に従います:

  1. Jackson 依存関係を追加します:

    • 次の依存関係をプロジェクト:

      compile("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.4.0")
      ログイン後にコピー
  2. Configure Spring:

    • 次の行をアプリケーションのプロパティfile:

      spring.jackson.serialization.write_dates_as_timestamps=false
      ログイン後にコピー
    • これにより、日付を文字列としてシリアル化するために適切なコンバーターが使用されるようになります。

これで、Spring Boot は自動的にLocalDateTime コンバーターを登録します。ただし、日付形式をカスタマイズしたい場合は、次の注釈を使用できます:

  • @JsonFormat: この注釈を使用して、目的の日付形式を指定します。
  • @DateTimeFormat: この注釈を使用して ISO 日付を指定しますformat.

注: Spring Boot 2.x では、Spring が LocalDateTime 変換をネイティブに処理するようになったため、上記の構成手順は不要になりました。

以上がSpring Boot で Java 8 LocalDateTime を JSON に適切にシリアル化する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート