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

Javaのorg.jsonライブラリでJSONを整形表示(Pretty Print)する方法

JSONは、軽量でテキストベース、かつ言語に依存しないデータ交換フォーマットです。JSONObjectは文字列からテキストを解析し、Mapのようなオブジェクトを生成できます。このオブジェクトには、内容を操作するためのメソッドや、JSON準拠のシリアライズを行うためのメソッドが用意されています。

org.jsonパッケージは、JavaにおけるJSONのエンコーダー/デコーダーを実装しており、JSON・XML・HTTPヘッダー・Cookie・CDL間の相互変換機能も提供しています。

JSONを整形表示(Pretty Print)するには

JSONを読みやすい形式で出力するには、org.json.JSONObjectクラスのtoString(int indentFactor)メソッドを使用します。引数のindentFactorには、インデント1レベルあたりに挿入するスペースの数を指定します。たとえば4を渡すと、ネストの階層に応じて4スペースずつインデントされた出力が得られます。

なお、整形表示した際、キーの出力順序は元の文字列と異なる場合があります。これはJSONObjectが内部でハッシュマップに近い構造を使用しているためで、動作としては正常です。

構文

public java.lang.String toString(int indentFactor) throws JSONException

コード例

import org.json.*;
public class JSONPrettyPrintTest {
    public static void main(String args[]) throws JSONException {
        String json = "{" +
                      "Name : Jai," +
                      "Age : 25, " +
                      "Salary: 25000.00 " +
                      "}";
        JSONObject jsonObj = new JSONObject(json);
        System.out.println("Pretty Print of JSON:");
        System.out.println(jsonObj.toString(4)); // JSONを整形表示
    }
}

実行結果

Pretty Print of JSON:
{
    "Salary": 25000,
    "Age": 25,
    "Name": "Jai"
}
  1. JavaでJSON配列を作成する方法をわかりやすく解説

    JSON配列とは、角括弧で囲まれた値の順序付きコレクションのことです。具体的には「[」で始まり「]」で終わり、配列内の各値はカンマ(,)で区切られます。JSON配列のサンプル{ books: [Java, JavaFX, Hbase, Cassandra, WebGL, JOGL] }json-simpleは、JSONオブジェクトを処理するための軽量ライブラリです。このライブラリを使えば、JavaプログラムからJSONドキュメントの内容を読み取ったり、書き込んだりすることができます。json-simpleのMaven依存関係json-simpleライブラリを使用するには、まずpom.x

  2. JavaでJSONファイルを作成する方法をわかりやすく解説

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