我需要使用漂亮的打印和使用JsonView创建json。如何从jackson objectmapper做同样的事情?当我尝试使用这两个属性时出现以下错误。
错误:对于ObjectWriter类型,方法writerWithDefaultPrettyPrinter()未定义。
我的代码:
objectMapper.writerWithView(View.ConfigJson.class).writerWithDefaultPrettyPrinter().writeValue(file, value);
最简单的方法是在SerializationFeature.INDENT_OUTPUT上启用ObjectMapper
:
mapper.enable(SerializationFeature.INDENT_OUTPUT);
或者使用withDefaultPrettyPrinter
方法:
mapper
.writerWithView(View.ConfigJson.class)
.withDefaultPrettyPrinter()
.writeValue(System.out, map);
您需要注意writer*
方法在ObjectMapper
中声明并返回ObjectWriter
实例。从那以后,你可以使用在with*
中声明的ObjectWriter
方法。