为什么杰克逊这种漂亮的打印功能不起作用?只是尝试读取文件并使用jackson api进行打印:
public static void printJsonFromFile( String fileName ) {
System.out.println("-----------------");
ObjectMapper mapper = new ObjectMapper();
try {
System.out.println( mapper.writerWithDefaultPrettyPrinter()
.writeValueAsString( readFile( fileName, StandardCharsets.UTF_8 )) );
} catch ( IOException e ) {
e.printStackTrace();
}
System.out.println("-----------------");
}
static String readFile(String path, Charset encoding) throws IOException
{
byte[] encoded = Files.readAllBytes( Paths.get( path ) );
return encoding.decode( ByteBuffer.wrap( encoded ) ).toString();
}
答案 0 :(得分:3)
您可以使用以下内容替换System.out
来电:
Object json = mapper.readValue(readFile(fileName, StandardCharsets.UTF_8), Object.class);
System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(json));
这应该适当地缩进你的json。
希望这会有所帮助。