HOWTO · Java

Java での JSON データのプリティプリント

このチュートリアルでは、Java での JSON Pretty-Print について説明します。

JSON は、情報を共有するために主に使用される媒体です。 JSON ファイルを作成、変更、および解析するための多数のツールが利用可能です。 ただし、これらのファイルはほとんど人間が読めるものではないため、人間が JSON データを理解するのは容易ではありません。

Pretty-Printと呼ばれる方法があります。 この記事では、Java で JSON ファイルを Pretty-Print する方法について説明します。

問題をより簡単にするために、必要な例と説明を使用してトピックについて説明します。 この記事では、最もよく使用される 3つの方法について説明します。

Gson を使用して Java で JSON データをプリティプリントする

以下の例では、Gson を使用して JSON データを Pretty-Print する方法を示します。 コードは次のようになります。

// importing necessary packages
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

public class JsonPrint {
  public static void main(String[] args) throws Exception {
    Gson gsonData = new GsonBuilder().setPrettyPrinting().create(); // Creating a GSON object
    String[] JsonData = {"Java", "Node", "Kotlin", "JavaScript"}; // JSON string
    String MyJson = gsonData.toJson(JsonData);
    System.out.println(MyJson);
  }
}

各行の目的を命じました。 上記の例を実行すると、次のような出力が得られます。

[
  "Java",
  "Node",
  "Kotlin",
  "JavaScript"
]

JSON を使用して Java で JSON データをプリティプリントする

以下の例では、JSON を使用して JSON データを Pretty-Print する方法を示します。 コードは次のようになります。

// importing necessary packages
import org.json.JSONObject;

public class JsonPrint {
  public static void main(String[] args) throws Exception {
    // Creating a JSON object
    String JsonData = "{\"one\":\"AAA\", \"two\":\"BBB\", \"three\":\"CCC\", \"four\":\"DDD\",}";
    // JSON string
    System.out.println(new JSONObject(JsonData).toString(4));
  }
}

各行の目的はすでに指示しました。 上記の例を実行すると、次の出力が得られます。

{
    "four": "DDD",
    "one": "AAA",
    "two": "BBB",
    "three": "CCC"
}

Jackson を使用して Java で JSON データをプリティプリントする

以下の例では、Jackson を使用して JSON データを Pretty-Print する方法を確認します。 コードは次のようになります。

// importing necessary packages
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;

public class JsonPrint {
  public static void main(String[] args) throws IOException {
    // Creating a ObjectMapper object
    ObjectMapper MyMapper = new ObjectMapper().enable(SerializationFeature.INDENT_OUTPUT);
    // JSON string
    String inputJson = "{\"one\":\"AAA\", \"two\":\"BBB\", \"three\":\"CCC\", \"four\":\"DDD\"}";
    System.out.println(MyMapper.writeValueAsString(MyMapper.readTree(inputJson)));
  }
}

各行の目的はすでに指示しました。 上記の例を実行すると、以下の出力が得られます。

{
  "one" : "AAA",
  "two" : "BBB",
  "three" : "CCC",
  "four" : "DDD"
}

この記事で共有されているサンプル コードは Java であることに注意してください。 システムに Java がない場合は、環境に Java をインストールする必要があります。