Jackson怎样可以把null的属性转换为空字符串?
Hi,
我有一个问题,使用JAVA对象转换为JSON对象的时候,如果对象中的属性为空,那么转换到前台的值为null,jackson是否有注解能够使得null值自动转换为空''字符串?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
Hi,
我有一个问题,使用JAVA对象转换为JSON对象的时候,如果对象中的属性为空,那么转换到前台的值为null,jackson是否有注解能够使得null值自动转换为空''字符串?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(10)
要是 对象为空怎么办 ,list ,map ,枚举 为 null的情况下也会转成 空字符串 ,这样类型不正确了 客户端报错
但是前台要显示啊,没有这个属性前台取值的时候不是也很奇怪吗,感觉像是后台返回的数据有问题一样。
就像是数据结构不完整了
为什么要替换成""呢? 如果属性的值为null,我觉得转成json后就不该有这个属性。
我也想知道。。。
不行啊,还是NULL
回复
把代码贴过来,我帮你看看。
你需要gooogle的gson,一句话搞定:
Gson gson = new GsonBuilder().serializeNulls().create();
gson.toJson(...)
没有原生的方法吗
自定义一个objectmapper
修改这个方法
this.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() {
@Override
public void serialize(Object arg0, JsonGenerator arg1, SerializerProvider arg2) throws IOException, JsonProcessingException {
arg1.writeString("");
}
});