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

JavaのGsonライブラリでJSONを整形出力(Pretty Print)する方法

Gsonは、Googleが開発したJava向けのJSONライブラリです。Gsonを利用することで、JavaオブジェクトからJSONを生成したり、JSON文字列をJavaオブジェクトへ変換(デシリアライズ)したりできます。

デフォルトでは、Gsonは余計な空白や改行を省いたコンパクト形式でJSONを出力します。ログの確認やデバッグ時にJSONを読みやすくしたい場合は、整形出力(Pretty Print)を有効にしましょう。そのためには、GsonBuilderクラスのsetPrettyPrinting()メソッドを使ってGsonインスタンスを構成します。このメソッドを呼び出すことで、インデントと改行が適用された、1ページに収まる読みやすい形式のJSONが出力されるようになります。

setPrettyPrinting()メソッドの構文

public GsonBuilder setPrettyPrinting()

MavenでGsonを導入する場合

プロジェクトでGsonを使用するには、pom.xmlに以下の依存関係を追加します。

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.10.1</version>
</dependency>

コード例

import java.util.*;
import com.google.gson.*;

public class PrettyJSONTest {
   public static void main(String[] args) {
      Employee emp = new Employee("Raja", "115", "Content Engineer", "Java", "Hyderabad");
      Gson gson = new GsonBuilder().setPrettyPrinting().create(); // 整形出力を有効化
      String prettyJson = gson.toJson(emp);
      System.out.println(prettyJson);
   }
}

// Employeeクラス
class Employee {
   private String name, id, designation, technology, location;

   public Employee(String name, String id, String designation,
                   String technology, String location) {
      super();
      this.name = name;
      this.id = id;
      this.designation = designation;
      this.technology = technology;
      this.location = location;
   }

   public String getName() { return name; }
   public String getId() { return id; }
   public String getDesignation() { return designation; }
   public String getTechnology() { return technology; }
   public String getLocation() { return location; }
}

実行結果

{
  "name": "Raja",
  "id": "115",
  "designation": "Content Engineer",
  "technology": "Java",
  "location": "Hyderabad"
}

なお、setPrettyPrinting()を呼び出さずにGsonインスタンスを作成した場合は、{"name":"Raja","id":"115","designation":"Content Engineer","technology":"Java","location":"Hyderabad"} のように、すべてが1行に詰め込まれたコンパクトなJSONが出力されます。用途に応じて使い分けるとよいでしょう。

  1. 【Java入門】Gsonライブラリを使ってJSON文字列をファイルに書き込む方法

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

  2. JavaでJSONファイルを読み込む方法|json-simpleライブラリの使い方を徹底解説

    JSON(JavaScript Object Notation)は、人間が読み書きしやすいデータ交換のために設計された、軽量なテキストベースのオープン標準フォーマットです。JSONで使われる記法は、C、C++、Java、Python、Perlなど、多くのプログラミング言語に精通した開発者にとって馴染み深いものとなっています。サンプルJSONドキュメント以下は、書籍情報を格納した典型的なJSONドキュメントの例です。{ book: [ { id: 01, language: Java, edition