学无先后,达者为师

网站首页 编程语言 正文

SpringBoot jackson返回值中含有null的解决办法

作者:Lzfnemo2009 更新时间: 2022-05-11 编程语言

1.遇到的问题:后端查询到的数据中含有null值,会展示到表格中,需求是将null替换为空

 

2.解决办法:

添加这个配置类就可以

@Configuration
public class JacksonConfig {
    @Bean
    @Primary
    @ConditionalOnMissingBean(ObjectMapper.class)
    public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) {
        ObjectMapper objectMapper = builder.createXmlMapper(false).build();
        objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer() {
            @Override
            public void serialize(Object o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
                jsonGenerator.writeString("");
            }
        });
        return objectMapper;
    }

 

3.注意:

这个是在yml文件中添加的配置,含义是:返回的json数据中,忽略为null的字段。

 jackson:
    default-property-inclusion: non_null

用这个方法实现前端展示空白的结果如下:

 出现了undefined,是因为后端会忽略为null的字段,那么前端就会展示未定义。

原文链接:https://blog.csdn.net/Lzfnemo2009/article/details/123231361