このプロジェクトについて
# Jacksonプロジェクトホーム
これはJacksonプロジェクトのメインポータルページです。JacksonはJavaおよびJVMプラットフォーム向けのデータ処理ツール群であり、「Java JSONライブラリ」または「Java向け最高のJSONパーサー」として広く知られていますが、JSONを超えて他の多くのデータ形式もサポートしています。
## 概要
Jacksonが提供するもの:
- **ストリーミングJSONパーサー/ジェネレーター**(jackson-core):低レベルで高性能なAPI
- **データバインディング**(jackson-databind):POJOとJSON間のシリアライズ/デシリアライズ
- **アノテーション**(jackson-annotations):シリアライズ制御のための標準アノテーション
- **データ形式モジュール**:Avro、CBOR、CSV、Ion、Protobuf、Smile、TOML、YAMLなどのサポート
- **データ型モジュール**:Java 8型、Guava、Joda-Time、および多くのサードパーティライブラリのサポート
- **JVM言語モジュール**:Kotlin、Scalaなど
## バージョニング
- **1.x**(`org.codehaus.jackson`):非推奨、新規リリースなし
- **2.x**(`com.fasterxml.jackson.core`):成熟して広く使用され、LTSブランチ(例:2.18、2.21)あり
- **3.x**(`tools.jackson`):活発に開発中、新規プロジェクトに推奨
メジャーバージョンは異なるJavaパッケージとMaven groupIdを使用するため、同じプロジェクト内で競合なく共存できます。
## コアモジュール
- **jackson-core**:ストリーミングAPI、JSON固有の実装
- **jackson-databind**:データバインディングとオブジェクトシリアライズ、ストリーミングとアノテーションに依存
- **jackson-annotations**:アノテーションベースの設定
- **jackson-bom**:一貫したバージョン管理のための部品表(Bill of Materials)
## データ形式モジュール
完全にサポートされている形式:
- **Avro**:スキーマサポート付きバイナリデータ形式
- **CBOR**:バイナリJSONの変種
- **CSV**:カンマ区切り値
- **Ion**:Amazon Ionバイナリ形式
- **Protobuf**:Protocol Buffers
- **Smile**:バイナリJSON、ストリーミングと100% API互換
- **TOML**:設定形式
- **YAML**:人間可読なデータ形式
サードパーティモジュールは、BEncode、BSON、MessagePack、Risonなどのサポートを追加します。
## データ型モジュール
公式モジュールがサポートするもの:
- Java 8型(Optional、日付/時刻)
- Guavaコレクション
- Joda-Time
- JSON-P(javax.jsonおよびjakarta.json)
- org.json型
コミュニティモジュールは、VAVR、Apache Commons Lang、Java Moneyなどのサポートを追加します。
## 追加ツール
- **Afterburner**:バイトコード生成によりデータバインディングを30-40%高速化
- **Mr Bean**:実装クラスをその場で生成
- **JSON Schemaジェネレーター**:POJOからJSON Schemaを生成
- **バリデーター**:Java JSON Schemaバリデーター
## コミュニティとサポート
Jacksonはメーリングリスト、Gitter、GitHub issuesを通じてサポートされています。プロジェクトは貢献を歓迎しており、詳細はCONTRIBUTING.mdを参照してください。セキュリティ脆弱性は非公開で報告できます。
## 最近の更新
- 2025年9月:Jackson 3移行ガイド追加
- 2025年9月:2.20でのjackson-annotationsバージョニングスキーム変更
- 2024年2月:データ形式/データ型モジュールのセキュリティ監査
- 2023年12月:コーディングスタイルガイド追加
完全なリリースノートとサポート状況については、Jackson Releases wikiページを参照してください。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.