spring boot 如何替换返回json中的null为空串

发布于 2022-09-03 09:10:55 字数 110 浏览 9 评论 0

如题:springboot项目将返回的对象实例自动转化为json格式,那么当对象中出现空数据的时候,json就会出现value值为null的情况,现在ios客户端要求用空字符串代替null,请问大神们,何解

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

凑诗 2022-09-10 09:10:56

想不想试试这招?Null values as empty strings

首先写一个自定义的null值序列化器:

import java.io.IOException;

import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.JsonSerializer;
import org.codehaus.jackson.map.SerializerProvider;

public class NullSerializer extends JsonSerializer<Object> {

    @Override
    public void serialize(Object value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
        jgen.writeString("");
    }
}

再写一个自定义的ObjectMapper,并使用刚写的那个null值序列化器:

import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.ser.StdSerializerProvider;


public class CustomObjectMapper extends ObjectMapper{
    public CustomObjectMapper(){
        StdSerializerProvider sp = new StdSerializerProvider();
        sp.setNullValueSerializer(new NullSerializer());
        this.setSerializerProvider(sp);
    }

}

最后使用这个自定义的CustomObjectMapper来处理你的json数据好了

汐鸠 2022-09-10 09:10:56

可以配置你的json工具,如果spring mvc默认好像用的是jackson。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文