2

我正在使用一个库来创建一个ObjectMapper并将Module它自己的一些 s 添加到这个映射器中。我希望这些模块中的序列化程序能够漂亮地打印出来。但是,我唯一可以配置此映射器的方法是通过一个构建器,它可以让我添加自己的模块。我可以使用我的能力来添加模块以将ObjectMapper其配置为漂亮的打印吗?我没有看到任何SimpleModule暗示我可以的方法或属性。

4

1 回答 1

1

是的,如果您可以使用 注册 a ModuleObjectMapper则可以操作映射器。覆盖上的方法setupModule()Module然后使用你得到的:getOwner()Module.SetupContext

GraphSONMapper mapper = GraphSONMapper.build().addCustomModule(new SimpleModule() {                                          
    public void setupModule(com.fasterxml.jackson.databind.Module.SetupContext context) {                                    
        ObjectMapper mapper = context.getOwner();                                                                            
        mapper.enable(SerializationFeature.INDENT_OUTPUT);                                                                   
    }                                                                                                                        
}).create();                                                                                                                 
GraphSONWriter writer = graph.io().graphSONWriter().mapper(mapper).create();

的文档getOwner()建议你不应该这样做,除非你必须这样做。

于 2015-01-31T20:27:52.020 回答