Java 中的漂亮打印 JSON

新手上路,请多包涵

我正在使用 json-simple ,我需要漂亮地打印 JSON 数据(使其更具人类可读性)。

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

原文由 mabuzer 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答

谷歌的 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'

原文由 Ray Hulha 发布,翻译遵循 CC BY-SA 4.0 许可协议

我使用 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 中字段的顺序根据定义是随机的。具体顺序取决于解析器实现。

原文由 Raghu Kiran 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题