Jackson –プリティプリントJSON出力を有効にする方法
Jacksonでは、writerWithDefaultPrettyPrinter()を使用してJSON出力をきれいに出力できます。
Jackson 2.9.8でテスト済み
1. プリティプリント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
HTMLページにきれいに印刷されたJSON出力を表示するには、preタグでラップします。<pre>${pretty-print-json-output}</pre>
Note – 12/12/2013
記事はwriterWithDefaultPrettyPrinter()を使用するように更新され、古いdefaultPrettyPrintingWriter()は非推奨になりました。