Jackson とは?

Jackson

Jackson最新情報

NRIのOpenStandiaが提供するJackson最新情報

Jacksonの保守サポートサービスの内容はこちら Jacksonの導入については、フォームからお問い合わせ下さい OSS全般の事例紹介はこちら

Jacksonバージョンアップ情報

■2022-06-22
[VerUP]Jackson 2.13.3(リリース日:2022/05/14)
■2022-02-25
[VerUP]Jackson 2.13.1(リリース日:2021/12/19)
■2021-05-06
[VerUP]Jackson 2.12.3(リリース日:2021/04/12)
■2021-02-09
[VerUP]Jackson 2.12(リリース日:2020/11/28)
■2020-05-11
[VerUP]Jackson 2.11(リリース日:2020/04/26)
■2020-03-30
[VerUP]Jackson 2.10.4(リリース日:2020/05/03)
■2020-03-23
[VerUP]Jackson 2.10.3(リリース日:2020/03/03)
■2020-01-10
[VerUP]Jackson 2.10.2(リリース日:2020/01/05)
■2019-11-29
[VerUP]Jackson 2.10.1(リリース日:2019/11/09)
■2019-09-27
[VerUP]Jackson 2.9.10(リリース日:2019/09/21)

すべてを見る

更新日:2023-02-21

Jacksonの概要

Jackson(ジャクソン)は、JSON(※)形式のデータを処理するための高速かつ軽量なJavaライブラリです。「Jackson Java JSON-processor」とも呼ばれています。
Jacksonは、XML形式のデータを処理するためのJavaライブラリであるStAXやJAXBなどの実装を参考に開発されました。
Jakarta EEにも、JSONを扱うためのAPI(JSR 353: Java API for JSON Processing)が標準で取り込まれています。
また、Avro、BSON、CBOR、CSV、Smile、(Java)Properties、Protobuf、TOML、XML、YAMLなど、各種形式のデータを扱うためのモジュールも存在しており、用途に合わせて使用可能です。

※JSON(ジェイソン、JavaScript Object Notation)は、JavaScriptにおけるオブジェクトの表記法をベースとした軽量なデータ記述言語です。

TOPに戻る

Jacksonのライセンス

Jackson 1.xではApacheライセンス2.0とLGPL 2.1のデュアルライセンスでしたが、Jackson 2.xではApacheライセンス2.0のみとなっています。
Jacksonは、ライブラリの使用、変更、修正版や派生版などの再配布を自由に行えます。
Jacksonのライセンスについてご不明な点がありましたら、お気軽にお問い合わせください。

TOPに戻る

Jacksonの動作環境

前提となる動作環境は、以下のとおりです。

  • 2.0 ~ 2.13
    ・Java 6
  • 2.14以降
    ・Java 8 以上

参考:https://github.com/FasterXML/jackson-core/tree/2.15#jdk
※バージョンによって異なりますので、詳細はお問い合わせください。

TOPに戻る

Jacksonと同様の機能を提供する製品

JSONIC、Gsonなどが、Jacksonと同様の機能を提供しています。

TOPに戻る

Jacksonの主な特徴

主な特徴は以下のとおりです。

高速 シリアライズ、デシアリアライズともに安定しており、他のJavaのJSONパーサーとデータバインダーよりも高速であることが測定されている(※コミュニティページより)
依存関係が少ない 他のパッケージや外部ライブラリに依存しない
ストリーミング(読み書き) ストーミングAPIによるJSONデータへのアクセスが可能
導入・運用しやすい オープンソースでライセンス費用がかからないうえ、多機能なライブラリである
豊富な導入実績 JSONライブラリとして、国内外を問わず多数の採用実績がある
コスト効果 ライセンス費用がかからないため、商用製品に比べて大幅に導入コストを削減可能(有償保守サポートを依頼する場合は別途費用が必要)

TOPに戻る

Jacksonの主な機能

主な機能は以下のとおりです。
JacksonではJavaプログラムからJSONデータを扱うために次の3種類の機能が提供されています。

  • ストリーミングAPI
    JSONデータを先頭から順に読み込みながら処理するため、メモリと処理のオーバーヘッドを少なくできる最も効率的な方法ですが、特定の要素を取得するような用途には向きません。
    JSONデータは、JsonParserで読み込み、JsonGeneratorで書き込みます。XMLのStAX (Streaming API for XML)に相当します。
  • ツリーモデル
    JSONドキュメントの変更可能なメモリ内ツリー表現を提供します。
    ObjectMapperにより、JsonNodeノードで構成されるツリーが構築できます。XMLのDOM (Document Object Model)に相当します。
  • データバインディング
    アノテーションなどに基づいて、JSONオブジェクトとJavaオブジェクトをバインディングします。
     -単純データバインディング:JavaのMap, List, String, Number, Boolean型、nullの変換
     -完全データバインディング:任意のJava Beanタイプでの変換
    ObjectMapperが、異なるオブジェクト間のマーシャリング(JSONの書き込み)とアンマーシャリング(JSONの読み取り)を実行します。
    XMLのJAXB (Java Architecture for XML Binding)に相当します。

Jacksonは、用途によって複数のJARファイルに分割されています。主要なものは以下の3つになります。

  • Jackson Core:ストリーミングパーサジェネレータが含む
  • Jackson Annotations:アノテーションベースのコンフィギュレーション(データバインドで利用)
  • Jackson Databind:データバインディング、ツリーモデル(ストリーミングコア上に構築)

Jackson 2.xの場合、Streaming APIだけならば、Jackson Coreのみが必要です。Tree ModelやData Bindingを用いるならば、Jackson AnnotationsとJackson Databindも必要です。

TOPに戻る

関連OSS

TOPに戻る

Jacksonのダウンロード

Jacksonモジュールはmavenリポジトリから取得することが推奨されています。
https://mvnrepository.com/artifact/com.fasterxml.jackson.core

TOPに戻る

Jacksonのサポート

NRIではお客様のご要望に応じて様々な支援ができるサービスをご用意しました。
詳細は下記ページをご確認ください。

TOPに戻る

OpenStandiaに関する
資料請求・お問い合わせはこちら

  • 資料請求
  • お問い合わせ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

  • OpenStandiaサポート対象オープンソース|50種類以上のOSSのサポートをご提供します。
  • 人気midPoint
  • 人気Keycloak
  • 注目MongoDB
  • ForgeRock AM(OpenAM)
  • ForgeRock IDM(OpenIDM)
  • MongoDB
  • Postfix
  • Apache HTTP Server
  • ZABBIX
  • PostgreSQL
  • Apache Struts
  • Apache Kafka
  • Apache Hadoop
  • Apache Spark
  • Spring Framework
  • Apache Tomcat
  • Solr
  • iBATIS
  • DRBD
  • MySQL
  • JBoss
  • Ruby on Rails
  • Jaspersoft
  • OpenLDAP
  • Apache log4j
  • Apache Subversion
  • ForgeRock DS(OpenDJ)
  • Pacemaker
  • Samba
  • Red Hat Enterprise Linux
  • Nginx
  • BIND
  • Dovecot
  • Pentaho
  • sendmail
  • Courier-IMAP
  • ForgeRock DS(OpenDJ)
  • Heartbeat
  • Hibernate
  • Hinemos
  • MyBatis
  • MySQL Cluster
  • Apache Axis2
  • Squid
  • OpenSSO