JavaのGsonライブラリでオブジェクトのリストをJSONに変換する方法
Gsonとは
Gsonは、JavaオブジェクトをJSON形式に変換(シリアライズ)するためのライブラリです。逆に、JSON文字列を対応するJavaオブジェクトへ変換(デシリアライズ)することもできます。中心的な役割を担うのはGsonクラスで、new Gson()を呼び出すだけでインスタンスを生成できます。また、GsonBuilderクラスを使用すれば、出力の整形などカスタマイズを施したGsonインスタンスを作成することも可能です。
オブジェクトのリストをJSONに変換する手順
オブジェクトのリストをJSONに変換するには、まずPersonクラスを定義し、そのインスタンスを要素とするリストを作成します。あとはGsonのtoJson()メソッドにリストを渡すだけで、リスト全体がJSON配列として変換されます。
以下の例では、GsonBuilderのsetPrettyPrinting()メソッドを使ってGsonインスタンスを生成しています。この設定により、インデント付きの整形されたJSONが出力され、可読性が大きく向上します。
コード例
import java.util.*;
import java.util.stream.*;
import com.google.gson.*;
public class JSONConverterTest {
public static void main(String[] args) {
Gson gson = new GsonBuilder().setPrettyPrinting().create();
List<Person> list = Stream.of(new Person("Raja", "Ramesh", 30, "9959984800"),
new Person("Jai", "Dev", 25, "7702144400"),
new Person("Adithya", "Sai", 21, "7013536200"),
new Person("Chaitanya", "Sai", 28, "9656444150"))
.collect(Collectors.toList());
System.out.println("PersonオブジェクトのリストをJSONに変換:");
String json = gson.toJson(list); // リストをJSONに変換
System.out.println(json);
}
}
// Personクラス
class Person {
private String firstName, lastName, contact;
private int age;
public Person(String firstName, String lastName, int age, String contact) {
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.contact = contact;
}
public String toString() {
return "[" + firstName + " " + lastName + " " + age + " " + contact + "]";
}
}
実行結果
PersonオブジェクトのリストをJSONに変換:
[
{
"firstName": "Raja",
"lastName": "Ramesh",
"contact": "9959984800",
"age": 30
},
{
"firstName": "Jai",
"lastName": "Dev",
"contact": "7702144400",
"age": 25
},
{
"firstName": "Adithya",
"lastName": "Sai",
"contact": "7013536200",
"age": 21
},
{
"firstName": "Chaitanya",
"lastName": "Sai",
"contact": "9656444150",
"age": 28
}
]
-
【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;