任何人都可以告诉我如何在Spring Rest中使用jackson mapper将null输出为空值?

问题描述 投票:0回答:2

我已经尝试过在stackoverflow上找到的上面的解决方案。但是他们并没有做我想让控制器做的事情。我不想在每个类中更改getter / setter方法以将空值转换为空值。我正在寻找一个解决方案,这将允许我使用对象映射器,通过配置在全局级别执行此操作。

spring spring-mvc jackson spring-restcontroller spring-rest
2个回答
0
投票

在配置类中添加此bean:

@Bean
    public Jackson2ObjectMapperBuilder configureObjectMapper() {
        Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();
        ObjectMapper objectMapper = new ObjectMapper();
        SimpleModule module = new SimpleModule();
        module.addSerializer(new NullSerializer());
        objectMapper.registerModule(module);
        builder.configure(objectMapper);
        return builder;
    }

NullSerializer类:

public class NullSerializer extends JsonSerializer<Object> {
    @Override
    public void serialize(Object value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
        // any JSON value you want...
        gen.writeString("");
    }
}

0
投票

谢谢,这个解决方案不起作用......我已经提到我已经尝试过堆栈溢出解决方案而且它们不起作用。它不再打印任何东西,即使是非空的值。

© www.soinside.com 2019 - 2024. All rights reserved.