標準の型アノテーションを使ってJSON、MessagePack、YAML、TOMLをエンコード・デコードする、高速なPythonシリアライズ・バリデーションライブラリ。
google/gson
ソースコードを参照できないオブジェクトも含め、JavaオブジェクトとJSONを相互変換できるJavaライブラリ。
- スター
- 24,238
- フォーク
- 4,491
- 未解決の Issue
- 340
- 最終コミット
- 10 日前
これは何?
Gsonは、シンプルなtoJson()メソッドとfromJson()メソッドでJavaオブジェクトをJSON文字列に変換し、JSONを同等のJavaオブジェクトに戻すこともできます。多くの代替ライブラリとは異なり、クラスにJavaアノテーションを付ける必要がないため、ソースコードを変更できない既存のオブジェクトや変更不可のオブジェクトにも使えます。
このライブラリはJava Genericsを重視しており、深くネストされたオブジェクト、複雑な継承階層、ジェネリック型を扱えるよう設計されています。デフォルトのマッピングが適さない場合は、オブジェクトのカスタム表現を定義することもできます。
Gsonは現在メンテナンスモードにあり、既存のバグは修正されますが、大規模な新機能が追加される可能性は低いです。このプロジェクトはJavaに重点を置いています。リフレクションベースの実行時処理がコードの縮小や難読化と競合するため、Androidのリリースアプリには推奨されません。
主な機能
- 01toJson()でJavaオブジェクトをJSONに変換し、fromJson()で元に戻す
- 02ソースコードやアノテーションがないクラスにも対応
- 03Java Genericsを幅広くサポート
- 04オブジェクトのカスタムシリアライズ表現を定義できる
- 05複雑な継承階層やネストされたオブジェクトを扱える
ユースケース
- JSON形式のAPIレスポンスをJavaのモデルクラスにパースする
- サードパーティ製または変更不可のJavaオブジェクトをJSONにシリアライズする
- Javaオブジェクトの状態をJSONファイルとして永続化する
- JSONデータをやり取りするJavaバックエンドを構築する
クイックスタート
- 1
Gradle のビルドに Gson の依存関係を追加します
implementation 'com.google.code.gson:gson:2.14.0' - 2
または Maven の pom.xml に Gson の依存関係を追加します
- 3
Maven でソースからプロジェクトをビルドします
mvn clean verify
使う前に知っておきたいこと
- Gson はメンテナンスモードのため、大規模な新機能が追加される可能性は低いです。
- リフレクションが縮小や難読化によって動作しなくなる可能性があるため、Android での JSON 処理に Gson は推奨されません。
- ソースからビルドするには JDK 17 以降が必要です。ビルドにはそれより新しい JDK はサポートされていません。
トピック
よくある質問
- gson とは?
- ソースコードを参照できないオブジェクトも含め、JavaオブジェクトとJSONを相互変換できるJavaライブラリ。 Gsonは、シンプルなtoJson()メソッドとfromJson()メソッドでJavaオブジェクトをJSON文字列に変換し、JSONを同等のJavaオブジェクトに戻すこともできます。多くの代替ライブラリとは異なり、クラスにJavaアノテーションを付ける必要がないため、ソースコードを変更できない既存のオブジェクトや変更不可のオブジェクトにも使えます。
- gson は無料で使えますか?ライセンスは?
- gson は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- gson は今もメンテナンスされていますか?
- 活発にメンテナンス中。gson の最終コミットは 2026年10月11日 です。
- gson は何に使えますか?
- JSON形式のAPIレスポンスをJavaのモデルクラスにパースする サードパーティ製または変更不可のJavaオブジェクトをJSONにシリアライズする Javaオブジェクトの状態をJSONファイルとして永続化する JSONデータをやり取りするJavaバックエンドを構築する
- gson のインストール方法は?
- Gradle のビルドに Gson の依存関係を追加します: implementation 'com.google.code.gson:gson:2.14.0' または Maven の pom.xml に Gson の依存関係を追加します Maven でソースからプロジェクトをビルドします: mvn clean verify
- gson はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/google/gson
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
STL風の構文でJSONの解析、構築、操作、シリアライズができる、ヘッダーオンリーのC++11ライブラリ。
LLMのプロンプトに構造化データを渡す際のトークン使用量を抑える、コンパクトで読みやすいJSONデータ向けエンコーディング。
最小限のセットアップで、本番運用に適したSpringベースのアプリケーションやサービスを構築できる、独自の方針を持つJavaフレームワークです。
エンタープライズアプリケーション構築の基盤となるJavaフレームワーク。依存性注入、MVC、Springエコシステムを支えるインフラを提供します。
バイナリデータを解析・展開せずに直接読み取れる、クロスプラットフォームのシリアライズライブラリです。