首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java中的漂亮打印JSON

Java中的漂亮打印JSON
EN

Stack Overflow用户
提问于 2010-11-05 20:24:08
回答 17查看 299.3K关注 0票数 256

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

我还没能在那个库中找到这个功能。这通常是如何实现的?

EN

回答 17

Stack Overflow用户

回答已采纳

发布于 2011-09-06 00:06:27

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

代码语言:javascript
复制
Gson gson = new GsonBuilder().setPrettyPrinting().create();
JsonParser jp = new JsonParser();
JsonElement je = jp.parse(uglyJsonString);
String prettyJsonString = gson.toJson(je);

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

代码语言:javascript
复制
Gson gson = new GsonBuilder().setPrettyPrinting().create();
JsonElement je = JsonParser.parseString​(uglyJsonString);
String prettyJsonString = gson.toJson(je);

下面是import语句:

代码语言:javascript
复制
import com.google.gson.*;

下面是Gradle依赖项:

代码语言:javascript
复制
implementation 'com.google.code.gson:gson:2.8.7'
票数 323
EN

Stack Overflow用户

发布于 2012-03-06 20:35:41

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

代码语言:javascript
复制
JSONObject json = new JSONObject(jsonString); // Convert text to object
System.out.println(json.toString(4)); // Print it with specified indentation

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

票数 186
EN

Stack Overflow用户

发布于 2017-05-22 04:18:30

与杰克逊(com.fasterxml.jackson.databind):

代码语言:javascript
复制
ObjectMapper mapper = new ObjectMapper();
System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonObject))

来自:How to enable pretty print JSON output (Jackson)

我知道这已经在答案中了,但我想在这里单独编写它,因为很有可能,您已经将Jackson作为依赖项,所以您需要的只是额外的一行代码

票数 52
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4105795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档