Как включить вывод в формате JSON для симпатичной печати (Джексон)

Джексон - Как включить вывод 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() устарел.