Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaのGsonライブラリでオブジェクトのリストをJSONに変換する方法


Gsonとは

Gsonは、JavaオブジェクトをJSON形式に変換(シリアライズ)するためのライブラリです。逆に、JSON文字列を対応するJavaオブジェクトへ変換(デシリアライズ)することもできます。中心的な役割を担うのはGsonクラスで、new Gson()を呼び出すだけでインスタンスを生成できます。また、GsonBuilderクラスを使用すれば、出力の整形などカスタマイズを施したGsonインスタンスを作成することも可能です。

オブジェクトのリストをJSONに変換する手順

オブジェクトのリストをJSONに変換するには、まずPersonクラスを定義し、そのインスタンスを要素とするリストを作成します。あとはGsonのtoJson()メソッドにリストを渡すだけで、リスト全体がJSON配列として変換されます。

以下の例では、GsonBuildersetPrettyPrinting()メソッドを使って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
  }
]
  1. 【Java入門】Gsonライブラリを使ってJSON文字列をファイルに書き込む方法

    GsonライブラリとはGsonは、JavaオブジェクトをJSON形式に変換(シリアライズ)するためのGoogle製オープンソースライブラリです。逆に、JSON文字列からJavaオブジェクトへの変換(デシリアライズ)も簡単に行えるため、JavaでJSONを扱う際の定番ライブラリとして広く利用されています。Gsonを使用する際の中心的なクラスはGsonクラスです。インスタンスはnew Gson()のように直接生成できますが、設定をカスタマイズしたい場合はGsonBuilderクラスを使ってGsonインスタンスを作成することも可能です。この記事では、Gsonクラスが提供するtoJson()メソッドを

  2. 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;