Gsonライブラリを使ってJavaオブジェクトをJSONに変換する方法をわかりやすく解説
JSON(JavaScript Object Notation)は、人間が読みやすい形式でデータを交換するために設計された、軽量なテキストベースのオープン標準フォーマットです。JSONで使われる記法は、C、C++、Java、Python、Perlなど、多くのプログラミング言語に精通した開発者にとって馴染み深いものとなっています。
JavaにはJSONオブジェクトを扱うためのライブラリが複数存在しますが、その中でもGoogle Gsonは、JavaオブジェクトをJSONへシリアライズ(およびその逆のデシリアライズ)するためのシンプルなJavaベースのライブラリです。Googleが開発したオープンソースライブラリであり、導入も容易なことから広く利用されています。
Gsonを使ったJavaオブジェクトからJSONへの変換
GoogleのGsonライブラリには、ライブラリ名と同じ「Gson」というクラスが用意されており、これがライブラリの中核となるクラスです。
Gsonクラスが提供する主要メソッドの一つが toJson() です。このメソッドにはいくつかのバリアント(オーバーロード)がありますが、そのうちの一つはJavaオブジェクトを受け取り、それをJSON形式に変換して文字列として返します。
Gsonライブラリを使ってJavaオブジェクトをJSON文字列に変換する手順は以下の通りです。
1. Maven依存関係の追加
まず、pom.xmlに以下のMaven依存関係を追加します。
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>2. 変換までの基本手順
- privateなフィールドとsetter/getterメソッドを持つJavaBean(POJO)クラスを作成します。
- 別のクラスを作成します(POJOクラスが参照できる場所に配置してください)。
- そのクラス内でPOJOクラスのインスタンスを生成し、setterメソッドを使って必要な値を設定します。
- Gsonクラスをインスタンス化します。
- 作成したPOJOオブジェクトを引数としてtoJson()メソッドを呼び出します。
- 返されたJSON文字列を取得し、出力します。
サンプルコード
import com.google.gson.Gson;
class Student {
private int id;
private String name;
private int age;
private long phone;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public long getPhone() {
return phone;
}
public void setPhone(long phone) {
this.phone = phone;
}
}
public class ObjectTOString {
public static void main(String args[]) {
Student std = new Student();
std.setId(001);
std.setName("Krishna");
std.setAge(30);
std.setPhone(9848022338L);
// Gsonオブジェクトの生成
Gson gSon = new Gson();
String jsonString = gSon.toJson(std);
System.out.println(jsonString);
}
}実行結果
{"id":1,"name":"Krishna","age":30,"phone":9848022338}このように、Gsonライブラリを使えば、わずか数行のコードでJavaオブジェクトをJSON形式の文字列に簡単に変換できます。Web APIとのデータ連携や設定ファイルの保存など、さまざまな場面で活用できる便利な手法なので、ぜひ覚えておきましょう。
-
【Java入門】Gsonライブラリを使ってJSON文字列をファイルに書き込む方法
GsonライブラリとはGsonは、JavaオブジェクトをJSON形式に変換(シリアライズ)するためのGoogle製オープンソースライブラリです。逆に、JSON文字列からJavaオブジェクトへの変換(デシリアライズ)も簡単に行えるため、JavaでJSONを扱う際の定番ライブラリとして広く利用されています。Gsonを使用する際の中心的なクラスはGsonクラスです。インスタンスはnew Gson()のように直接生成できますが、設定をカスタマイズしたい場合はGsonBuilderクラスを使ってGsonインスタンスを作成することも可能です。この記事では、Gsonクラスが提供するtoJson()メソッドを
-
JavaオブジェクトをJSONに変換する方法(Jackson・Gsonの使い方)
このチュートリアルでは、JavaオブジェクトをJSON形式に変換する方法を、定番ライブラリであるJacksonとGsonの2つを使って解説します。 サンプルとして使用するのは、ごく標準的なPOJO(Plain Old Java Object)であるPersonクラスです。Personオブジェクトを作成したら、それぞれのライブラリを使ってJSONへ変換してみましょう。 Person.java import java.util.List; import java.util.Map; public class Person { String name; Integer age;