Pretty-Print JSON in Java

2022-08-31 05:23:55

我正在使用,我需要漂亮地打印JSON数据(使其更易于阅读)。

我无法在该库中找到此功能。这通常是如何实现的?


答案 1

谷歌的GSON可以以一种很好的方式做到这一点:

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

或者由于现在建议使用JsonParser中的静态解析方法,因此您也可以改用此方法:

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

以下是导入语句:

import com.google.gson.*;

以下是 Gradle 依赖项:

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

答案 2

我使用 org.json 内置方法来漂亮地打印数据。

import org.json.JSONObject;
JSONObject json = new JSONObject(jsonString); // Convert text to object
System.out.println(json.toString(4)); // Print it with specified indentation

JSON 中字段的顺序是随机的。根据定义。特定顺序受制于解析器实现。