В Джексоне мы можем использовать writerWithDefaultPrettyPrinter()
для красивой печати выходных данных JSON.
Протестировано с Джексоном 2.9.8
1. Симпатичный JSON для печати
1.1 По умолчанию Джексон печатает в компактном формате:
ObjectMapper mapper = new ObjectMapper(); Staff staff = createStaff(); String json = mapper.writeValueAsString(staff); System.out.println(json);
Выход
{"name":"mkyong","age":38,"skills":["java","python","node","kotlin"]}
1.2 Чтобы включить красивую печать по требованию.
ObjectMapper mapper = new ObjectMapper(); Staff staff = createStaff(); // pretty print String json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(staff); System.out.println(json);
Выход
{ "name" : "mkyong", "age" : 38, "skills" : [ "java", "python", "node", "kotlin" ] }
1.3 Чтобы включить красивую печать по всему миру.
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" : "mkyong", "age" : 38, "skills" : [ "java", "python", "node", "kotlin" ] }
Рекомендации
Оригинал: “https://mkyong.com/java/how-to-enable-pretty-print-json-output-jackson/”