1. ホーム

[解決済み】JavaでJSONをプリティプリントする

2022-04-04 14:02:58

質問

を使っています。 json-simple で、JSONデータをプリティプリントする必要があります(人間が読めるようにする)。

そのライブラリの中にこの機能を見つけることができませんでした。 一般的にはどのように実現されているのでしょうか?

どのように解決するのですか?

Googleの GSON は、これをいい感じに実現できる。

Gson gson = new GsonBuilder().setPrettyPrinting().create();
JsonParser jp = new JsonParser();
JsonElement je = jp.parse(uglyJsonString);
String prettyJsonString = gson.toJson(je);

また、JsonParser の static parse メソッドを使用することが推奨されるようになったので、これを代わりに使用することもできます。

Gson gson = new GsonBuilder().setPrettyPrinting().create();
JsonElement je = JsonParser.parseString​(uglyJsonString);
String prettyJsonString = gson.toJson(je);

以下はimport文です。

import com.google.gson.*;

以下はGradleの依存関係です。

implementation 'com.google.code.gson:gson:2.8.7'