OSS紹介

Jackson

Jackson最新情報

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

Jackson保守サポートサービスJacksonの導入についてのお問い合わせはこちらOSS全般の事例紹介はこちら

Jackson最新トピック

■2016-06-20
[技術情報] Java : Jackson による JSON デシリアライズ時の型解決方法
■2014-06-08
OpenStandia OSS紹介 Jacksonページを公開

すべてを見る

更新日:2017-02-27

Jacksonの概要

Jackson(ジャクソン)は、JSON(JavaScript Object Notation ※)形式のデータを処理するための高速かつ軽量なJavaライブラリです。「Jackson Java JSON-processor」とも呼ばれています。
Jackson(ジャクソン)は、XML形式のデータを処理するためのJavaライブラリであるStAXやJAXBなどの実装を参考に開発されました。Jackson(ジャクソン)の最新バージョンはJackson 2.8.6(2017年1月時点)です。
※JSON(ジェイソン、JavaScript Object Notation)は、JavaScriptにおけるオブジェクトの表記法をベースとした軽量なデータ記述言語です。Java EE 7にも、JSONを扱うためのAPI(JSR 353: Java API for JSON Processing)が標準で取り込まれています。

TOPに戻る

Jacksonのライセンス

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

TOPに戻る

Jacksonの動作環境

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

  • 2.1まで
    ・JDK 1.5以上
  • 2.2以降
    ・JDK 1.6以上

※バージョンによって異なりますので、詳細はお問い合わせください。

TOPに戻る

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

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

TOPに戻る

Jacksonの主な特徴

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

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

TOPに戻る

Jacksonの主な機能

主な機能は以下のとおりです。

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

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

TOPに戻る

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

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

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

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