在Java和Spring Boot中使用Jackson Pretty-Printing JSON
在这个实用的教程中,学习如何在使用Jackson、Java和Spring Boot时为JSON字符串和POJO启用Pretty-Printing功能。
Spring Boot
Spring Boot JSON字符串
Spring Boot Pretty-Printing功能
发表日期:2022-10-27
public Book(String title, String author, int releaseYear) {
this.title = title;
this.author = author;
this.releaseYear = releaseYear;
// Getters, setters, toString(), ...
让我们实例化一个
Book
实例以及一个输入的字符串:
桑
鸟
网
String inputString = "{\n" +
"\"Task 1\" : \"In_Progress\",\n" +
"\"Task 2\" : \"Done\",\n" +
"\"Task 3\" : \"Planned\"\n" +
Book book = new Book("Our Mathematical Universe", "Max Tegmark", 2014);
用Jackson Once pretty地打印JSON
如果你想在一次调用中简单地pretty打印一次,而不是设置全局打印标志 - 你可以在把一个值写成字符串之前简单地使用
writerWithDefaultPrettyPrinter()
调用:
ObjectMapper mapper = new ObjectMapper();
Object jsonString = mapper.readValue(inputString, Object.class);
String indentedString = mapper.writerWithDefaultPrettyPrinter()
.writeValueAsString(jsonString);
System.out.println(jsonString);
System.out.println(indentedString);
从(JSON-to-Object)中读取输入字符串并使用pretty-printing(Object-to-JSON)将此对象的值写回字符串中:
ObjectMapper mapper = new ObjectMapper();
Object jsonString = mapper.readTree(inputString).toPrettyString();
System.out.println(jsonString);
这是一个快速和简单的方法来格式化一个输入的JSON字符串!
当与POJO一起工作时,而不是从给定的输入中读取,我们只进行对象到JSON的转换并启用pretty-printing:
ObjectMapper mapper = new ObjectMapper();
String jsonBook = mapper.writeValueAsString(book);
String indentedBook = mapper.writerWithDefaultPrettyPrinter()
.writeValueAsString(book);
System.out.println(jsonBook);
System.out.println(indentedBook);
{"title":"Our Mathematical Universe","author":"Max Tegmark","releaseYear":2014}
"title" : "Our Mathematical Universe",
"author" : "Max Tegmark",
"releaseYear" : 2014
全局Pretty-Print设置
或者你可以启用全局的pretty-printing,如果这是Jackson为你的项目提供的最好的全局行为。
这就像你在实例化ObjectMapper()
实例时使用enable()
方法一样简单:
Object jsonString = mapper.readValue(inputString, Object.class);
String indentedString = mapper.writeValueAsString(jsonString);
System.out.println(jsonString);
System.out.println(indentedString);
这将在Spring的ObjectMapper
实例中设置SerializationFeature.INDENT_OUTPUT
标志。
sangniao.com
在这个简短的教程中,我们看了一下如何使用Jackson从一个字符串或POJO中Pretty-Print
JSON。我们探讨了单次打印的变化(当你只想Pretty-Print
一次时)和为ObjectMapper
设置全局Jackson标志。最后,我们看了一下改变Spring Boot的属性,以便用Jackson实现Pretty-Print
。
版权声明:本文为桑鸟网博主「ineo」的原创文章,转载请附上原文出处链接及本声明。
本文标题:在Java和Spring Boot中使用Jackson Pretty-Printing JSON
本文地址:https://news.sangniao.com/p/1855868463