JSON String tidy/formatter for Java [已关闭]

2022-09-01 09:08:23

我有一个有效的JSON字符串,我想整理/格式化,以便每个属性/值对都在自己的行上,等等(它目前在一行上,没有空格/换行符)。

我正在使用Apache Sling来建模我的JSON对象并将其转换为字符串,因此,如果可以将Sling设置为输出整齐的字符串(我认为它不能),那也将起作用。JSONObjectJSONObject

如果我需要一个第三方库,我更喜欢一个尽可能少的依赖项(例如Jackson,它只需要std JDK库)。


答案 1

使用gson,您可以做到:

JsonParser parser = new JsonParser();
Gson gson = new GsonBuilder().setPrettyPrinting().create();

JsonElement el = parser.parse(jsonString);
jsonString = gson.toJson(el); // done

答案 2

许多 JSON 库都有一个特殊的方法.toString(int indentation)

// if it's not already, convert to a JSON object
JSONObject jsonObject = new JSONObject(jsonString);
// To string method prints it with specified indentation
System.out.println(jsonObject.toString(4));