java - 使用java美化json文件

标签 java json

我下载了一个 JSON 文件,我不知道它的节点,但我想使用 java 来美化它。

我找到了很多解决方案,但就我而言,我不知道 JSON 文件的节点。所以请提供任何帮助

How I want it to be

How it is

最佳答案

I swear I tried all the solutions mentioned above but the problem that in order to build a JSON well-formed file using java (Jackson, Gson, json ...) you need to know the nodes of your file but I don't [...]

如果您愿意使用 Jackson,这里有一个可行的解决方案:

ObjectMapper mapper = new ObjectMapper();
mapper.enable(SerializationConfig.Feature.INDENT_OUTPUT);

JsonNode jsonNode = mapper.readTree(new URL("https://petstore.swagger.io/v2/swagger.json"));
String formattedJson = mapper.writeValueAsString(jsonNode);

上面的示例演示了如何从给定的 URL 读取 JSON 文档,这可能是也可能不是您的情况。如果它不符合您的需求,请检查ObjectMapper API,您可以从 StringInputStreamFile 等读取 JSON 文档。

这里的主要内容是:此解决方案不需要您了解 JSON 的结构。只要它是有效的 JSON,Jackson 就会使用其树模型来解析它。

<小时/>

或者,当您似乎想要解析 Swagger/OpenAPI 2.0 JSON 文件时,您可以使用以下内容(查看 documentation 了解详细信息):

Swagger swagger = new SwaggerParser().read("https://petstore.swagger.io/v2/swagger.json");
String swaggerString = Json.pretty(swagger);

关于java - 使用java美化json文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60432466/

相关文章:

java - 在JSP中,有没有一种方法可以将HttpServletRequest对象作为属性传递给另一个HttpServletRequest对象

java - Mongodb 聚合(Java/Spring)查询以获取最后一个子元素

java - Swagger 和 Springfox 更改不同状态代码的示例响应

java - 为什么Gson fromJson会抛出JsonSyntaxException : Expected BEGIN_OBJECT but was BEGIN_ARRAY?

javascript - 如何对包含 HTML 字符的 JSON 字符串进行编码?

java - Gson.fromJson,如何在我的 POJO 类上使用动态 json 值?

java - 所有方法完成后,REST 发送回响应

java - 如何复制 arraylist 以不反射(reflect)原始列表中的更改?

python - json.decoder.JSONDecodeError : Expecting value: line 1 column 1 (char 0) KeyError: ["Data Bytes 1: "]

javascript - 以表格形式排列 JSON 数据