Джексон - Как включить вывод JSON для красивой печати
В Джексоне мы можем использоватьwriterWithDefaultPrettyPrinter()
для красивой печати вывода JSON.
Протестировано с Джексоном 2.9.8
1. Pretty Print JSON
1.1 By default, Jackson print in compact format:
ObjectMapper mapper = new ObjectMapper(); Staff staff = createStaff(); String json = mapper.writeValueAsString(staff); System.out.println(json);
Выход
{"name":"example","age":38,"skills":["java","python","node","kotlin"]}
1.2 To enable pretty print on demand.
ObjectMapper mapper = new ObjectMapper(); Staff staff = createStaff(); // pretty print String json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(staff); System.out.println(json);
Выход
{ "name" : "example", "age" : 38, "skills" : [ "java", "python", "node", "kotlin" ] }
1.3 To enable pretty print globally.
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; // pretty print ObjectMapper mapper = new ObjectMapper().enable(SerializationFeature.INDENT_OUTPUT); Staff staff = createStaff(); String json = mapper.writeValueAsString(staff); System.out.println(json);
Выход
{ "name" : "example", "age" : 38, "skills" : [ "java", "python", "node", "kotlin" ] }
Note
Чтобы отобразить красивый вывод JSON для печати на странице HTML, оберните его тегамиpre
.<pre>${pretty-print-json-output}</pre>
Note – 12/12/2013
Статья обновлена для использованияwriterWithDefaultPrettyPrinter()
, старыйdefaultPrettyPrintingWriter()
устарел.