全局定制序列化

作用:将返回实体类中的属性如果为null 变成""

复制代码
package com.example.micrweb.config;

import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializerProvider;
import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.io.IOException;

/**
 * @author hrui
 * @date 2023/11/23 3:00
 */
@Configuration
public class JacksonConfiguration {

    /**
     * 将返回值json格式化的时候,如果为null 变成""
     * 因SpringBoot 返回默认用jackjson格式化
     * 而jackson中JacksonAutoConfiguration
     * 类已经自动配置了一个 ObjectMapper Bean
     * 这里对ObjectMapper重新定义
     */
    @Bean
    public ObjectMapper objectMapper(){
        ObjectMapper objectMapper=new ObjectMapper();
        //设置null序列化时  为""
        objectMapper.getSerializerProvider()
                .setNullValueSerializer(new JsonSerializer<Object>() {
                    @Override
                    public void serialize(Object o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
                        jsonGenerator.writeString("");
                    }
                });
        return objectMapper;
    }
    //JacksonAutoConfiguration
}

例如

配置之后

相关推荐
FQNmxDG4S10 小时前
Java泛型编程:类型擦除与泛型方法的应用场景
java·开发语言·python
我星期八休息11 小时前
IT疑难杂症诊疗室:AI时代工程师Superpowers进化论
linux·开发语言·数据结构·人工智能·python·散列表
热心网友俣先生11 小时前
2026年第二十三届五一数学建模竞赛C题超详细解题思路+各问题可用模型推荐+部分模型结果展示
c语言·开发语言·数学建模
01漫游者11 小时前
JavaScript函数与对象增强知识
开发语言·javascript·ecmascript
GottdesKrieges11 小时前
OceanBase恢复常见问题
java·数据库·oceanbase
IGAn CTOU11 小时前
Java高级开发进阶教程之系列
java·开发语言
leo825...11 小时前
Claude Code Skills 清单(本地)
java·python·ai编程
csbysj202011 小时前
SQL NULL 函数详解
开发语言
其实防守也摸鱼11 小时前
CTF密码学综合教学指南--第三章
开发语言·网络·python·安全·网络安全·密码学
NGSI vimp11 小时前
Java进阶——如何查看Java字节码
java·开发语言