Genson http://code.google.com/p/genson/という別のライブラリもあります。
実際、Genson は Gson よりも高速で機能が多く、パフォーマンスは jackson に近い (ただし、はるかに軽量です) http://code.google.com/p/genson/wiki/Metricsを参照してください。DOM モデルの代わりにストリーミング API を使用するため、スケーラビリティが向上し、入力が到着したときに変換を処理できる Web アプリケーションに適しています。
Genson は、単純な変換からすべてのプロセスの完全なカスタマイズまで、あらゆる種類のユース ケースに適しています。多くのことを構成できます (フィールドやメソッドを使用する、コンストラクターを引数付きで注釈なしで使用する、可視性によってプロパティをフィルター処理するなど)。ウィキを見たほうがいいです。
その最新バージョン (0.91) は、maven 中央リポジトリで入手できます。
<dependency>
<groupId>com.owlike</groupId>
<artifactId>genson</artifactId>
<version>0.91</version>
</dependency>
免責事項: 私はライブラリの作成者ですが、客観的になるように努めています (特にベンチマークでは)。
GsonとJacksonに関するいくつかの言葉を編集してください。Jackson を 2 年以上使用しており、Gson も少し使用しています。最初に注意すべきことは、Jackson が最速の json/java ライブラリであるということです (Gesnon はそれを打ち負かそうとしますが、非常に困難です)。Jackson には、多くの機能と構成の可能性もあります (ほとんどは注釈に基づいています)。私は Jackson を標準的かつ高度に使用していましたが、Jackson が提供していない機能が必要になるまでは快適でした。ライブラリを拡張するのは本当に難しいことがわかりました (私のユースケースでは、大きな部分を書き直さないと不可能でした)。
次に、Gsonを試しました。Gson について最初に注意すべきことは、getter/setter を使用せず、フィールドのみを使用することです。そのパフォーマンスは良くありませんでした (特にジャクソンやジェンソンと比較して)。最新バージョンでは、ストリーミング API も提供するように改善されましたが、まだ十分な速度ではありません。当初、その主な利点は Java ジェネリックの優れたサポートでしたが、Jackson と Genson もそれを提供しています。また、Gson には、Genson や Jackson よりもすぐに使用できる機能が少ないことに注意してください。また、Gson で必要な機能を実装しようとしましたが、Beans のデータバインディング部分が拡張可能ではないことがわかりました (拡張ポイントのない単一のクラスのほぼすべて)。それは論外であり、それがGensonを作成することになった方法です。
Genson を使用したくない場合は、Gson よりも Jackson をお勧めします。