我需要同时创建漂亮的json和JsonView。 如何从杰克逊对象映射器做同样的事情? 当我尝试同时使用两个属性时,出现以下错误。
错误:未定义方法writerWithDefaultPrettyPrinter() 键入ObjectWriter。
我的代码:
objectMapper.writerWithView(View.ConfigJson.class).writerWithDefaultPrettyPrinter().writeValue(file, value);
答案 0 :(得分:1)
最简单的方法是在ObjectMapper
上启用SerializationFeature.INDENT_OUTPUT:
mapper.enable(SerializationFeature.INDENT_OUTPUT);
或使用withDefaultPrettyPrinter
方法:
mapper
.writerWithView(View.ConfigJson.class)
.withDefaultPrettyPrinter()
.writeValue(System.out, map);
您需要注意,writer*
方法是在ObjectMapper
中声明的,并返回ObjectWriter
实例。从那以后,您可以使用with*
中声明的ObjectWriter
方法。