Jackson を使用した Java 8 LocalDate のフォーマット
問題:
Java アプリケーションでの日付の変換@JsonFormat アノテーションを使用すると、オブジェクトを特定の日付パターンを持つ JSON 形式に簡単に変換できます。ただし、Java 8 で導入された java.time.LocalDate を扱う場合、同じアプローチが期待どおりに機能しない可能性があります。
提案された解決策:
の書式設定をカスタマイズするにはJSON シリアル化用の LocalDate オブジェクトの場合、次のアプローチが可能です。使用:
- Jackson ObjectMapper の構成:
- ObjectMapper の ContextResolver 実装を作成します。
- LocalDate をサポートするために ObjectMapper に JavaTimeModule を登録します。シリアル化。
- LocalDate はタイムスタンプなしの日付を表すため、WRITE_DATES_AS_TIMESTAMPS 機能を false に設定します。
- JAX-RS アプリケーションで ContextResolver を使用します:
- @Provider を使用した JAX-RS サービス クラス注釈。
- ObjectMapperContextResolver インターフェイスを実装して、構成された ObjectMapper を提供します。
- JSON 変換用のリソース クラスに注釈を付ける:
- @JsonDeserialize と @JsonSerialize を追加します。適切なデシリアライザーとシリアライザーを使用したアノテーションLocalDate 変換を処理するクラス。
コード例:
ContextResolver:
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; @Provider public class ObjectMapperContextResolver implements ContextResolver<objectmapper> { @Override public ObjectMapper getContext(Class> type) { ObjectMapper mapper = new ObjectMapper(); mapper.registerModule(new JavaTimeModule()); mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); return mapper; } }</objectmapper>
リソースクラス:
import java.time.LocalDate; @Path("person") public class LocalDateResource { @GET public Person getPerson() { return new Person(LocalDate.now()); } }
パーソン クラス:
public class Person { @JsonDeserialize(using = LocalDateDeserializer.class) @JsonSerialize(using = LocalDateSerializer.class) private LocalDate birthDate; }
このアプローチを実装すると、LocalDate オブジェクトを効果的にシリアル化および逆シリアル化でき、柔軟な JSON フォーマットが可能になります。 .
以上がJackson を使用して Java 8 LocalDate オブジェクトを JSON で適切にフォーマットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

javaachievesplatformentenceTheTheTheJavavirtualMachine(JVM)、CodetorunondifferentoperatingSystemswithOutModification.thejvmcompilesjavacodeplatform-IndopentedbyTecodeを承認することを許可します

javaispowerfulfulduetoitsplatformindepentence、object-orientednature、richstandardlibrary、performancecapability、andstrongsecurityfeatures.1)platformendependenceallowseplicationStorunonaydevicesupportingjava.2)オブジェクト指向のプログラマン型

上位のJava関数には、次のものが含まれます。1)オブジェクト指向プログラミング、サポートポリ型、コードの柔軟性と保守性の向上。 2)例外処理メカニズム、トライキャッチ式ブロックによるコードの堅牢性の向上。 3)ゴミ収集、メモリ管理の簡素化。 4)ジェネリック、タイプの安全性の向上。 5)コードをより簡潔で表現力豊かにするためのAMBDAの表現と機能的なプログラミング。 6)最適化されたデータ構造とアルゴリズムを提供するリッチ標準ライブラリ。

javaisnotentirelylylyplatformedent dueTojvmvariations andNativeCodeIntegration、ButlargelyHoldSitsworapromise.1)JavacompilestobyteCoderunbythejvm、Cross-Platformexecution.2を許可します

thejavavirtualmachine(jvm)isanabstractcomputingmachineculucialforjavaexecutionsiTrunsjavabytecode、「writeonce、runaynay "capability

JavaremainsagoodlanguagedueToitscontinuousevolution androbustecosystem.1)lambdaexpressionsenhancecodereadability andenableFunctionalprogramming.2)streamsalowsolowsolfisitydataprocessing、特に特にlagedatasets.3)硬化系系統系系統系系統系系統

Javaisgreatduetoitsplatformindependence、robustoopsupport、extensiveLibraries、andstrongCommunity.1)PlatformentepenteviajvMallowsCodeTorunonVariousPlatforms.2)oopeatureSlikeEncapsulation、遺伝、およびポリモ系系統型皮下皮質皮下Rich

Javaの5つの主要な特徴は、多型、Lambda Expressions、StreamSapi、ジェネリック、例外処理です。 1。多型により、さまざまなクラスのオブジェクトを一般的なベースクラスのオブジェクトとして使用できます。 2。Lambda式は、コードをより簡潔にし、特にコレクションやストリームの処理に適しています。 3.ストリームサピは、大規模なデータセットを効率的に処理し、宣言操作をサポートします。 4.ジェネリックは、タイプの安全性と再利用性を提供し、型刻印中にタイプエラーがキャッチされます。 5.例外処理は、エラーをエレガントに処理し、信頼できるソフトウェアを作成するのに役立ちます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター
