ジャクソン-概要

Jacksonは、JavaオブジェクトをJSONに、またはその逆にシリアル化するための単純なJavaベースのライブラリです。

特徴

  • Easy to use. --jackson APIは、一般的に使用されるユースケースを簡素化するための高レベルのファサードを提供します。

  • No need to create mapping. --jackson APIは、シリアル化されるほとんどのオブジェクトのデフォルトのマッピングを提供します。

  • Performance. --jacksonは静かで高速で、メモリフットプリントが低く、大きなオブジェクトのグラフやシステムに適しています。

  • Clean JSON. --jacksonは、読みやすいクリーンでコンパクトなJSON結果を作成します。

  • No Dependency. --jacksonライブラリは、jdk以外のライブラリを必要としません。

  • Open Source --jacksonライブラリはオープンソースであり、無料で使用できます。

JSONを処理する3つの方法

Jacksonは、JSONを処理するための3つの代替方法を提供します

  • Streaming API-JSONコンテンツを個別のイベントとして読み書きします。JsonParserはデータを読み取り、JsonGeneratorはデータを書き込みます。これは3つの中で最も強力なアプローチであり、オーバーヘッドが最も低く、読み取り/書き込み操作が最も高速です。これは、XML用のStaxパーサーに類似しています。

  • Tree Model-JSONドキュメントのメモリ内ツリー表現を準備します。JsonNodeノードのObjectMapperビルドツリー。これは最も柔軟なアプローチです。これは、XMLのDOMパーサーに類似しています。

  • Data Binding -プロパティアクセサーまたはアノテーションを使用して、JSONをPOJO(Plain Old Java Object)との間で変換します。2種類あります。

    • Simple Data Binding -JSONをJavaマップ、リスト、文字列、数値、ブール値、およびnullオブジェクトとの間で変換します。

    • Full Data Binding -JSONを任意のJAVAタイプとの間で変換します。

    ObjectMapperは、両方のタイプのデータバインディングのJSONを読み取り/書き込みします。データバインディングは最も便利な方法であり、XML用のJAXBパーラーに類似しています。