如何使用 Java 漂亮地打印现有的 JSON 数据?[已关闭]

2022-08-31 16:01:51

我有一个紧凑的JSON字符串,我想在Java中很好地格式化它,而不必先反序列化它 - 例如,就像 jsonlint.org 一样。是否有任何图书馆提供此功能?

类似的 XML 解决方案也很不错。


答案 1
int spacesToIndentEachLevel = 2;
new JSONObject(jsonString).toString(spacesToIndentEachLevel);

使用(内置于 JavaEE 和 Android)org.json.JSONObject


答案 2

使用 gson。https://www.mkyong.com/java/how-to-enable-pretty-print-json-output-gson/

Gson gson = new GsonBuilder().setPrettyPrinting().create();
String json = gson.toJson(my_bean);

输出

{
  "name": "mkyong",
  "age": 35,
  "position": "Founder",
  "salary": 10000,
  "skills": [
    "java",
    "python",
    "shell"
  ]
}