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"
}
-
JavaでJSON配列を作成する方法をわかりやすく解説
JSON配列とは、角括弧で囲まれた値の順序付きコレクションのことです。具体的には「[」で始まり「]」で終わり、配列内の各値はカンマ(,)で区切られます。JSON配列のサンプル{ books: [Java, JavaFX, Hbase, Cassandra, WebGL, JOGL] }json-simpleは、JSONオブジェクトを処理するための軽量ライブラリです。このライブラリを使えば、JavaプログラムからJSONドキュメントの内容を読み取ったり、書き込んだりすることができます。json-simpleのMaven依存関係json-simpleライブラリを使用するには、まずpom.x
-
JavaでJSONファイルを作成する方法をわかりやすく解説
JSON(JavaScript Object Notation)は、人間が読みやすい形式でデータを交換するために設計された、軽量なテキストベースのオープン標準フォーマットです。JSONの記法は、C、C++、Java、Python、Perlなど、多くのプログラミング言語に精通したプログラマーにとって馴染み深いものとなっています。 JSONドキュメントのサンプル 以下は、書籍情報を格納した典型的なJSONドキュメントの例です。 { book: [ { id: 01, language: Java, ed