jackson json 序列化的时候 null 怎么能设置为空串

小湘eeeee 2014-09-11 10:53:37
{"status":"200","msg":"处理成功","resTime":"20140911104801","results":
{"openId":"224","token":"cd195cba5017c8f4468b9d5256c6798b","name":"UName13007443862","sex":null,"birthday":null,"defaultVin":null,"defaultDealer":null,"sq":null,"sa":null,"cars":[]}}

如何设置成

{"status":"200","msg":"
处理成功","resTime":"20140911104801","results":
{"openId":"224","token":"cd195cba5017c8f4468b9d5256c6798b","name":"UName13007443862","sex":"","birthday":"","defaultVin":"","defaultDealer":"","sq":"","sa":"","cars":[]}}
...全文
4676 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
突然空闲 2017-05-03
  • 打赏
  • 举报
回复
引用 2 楼 fangmingshijie 的回复:

objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>()  
        {  
  
            @Override  
            public void serialize(  
                    Object value,  
                    JsonGenerator jg,  
                    SerializerProvider sp) throws IOException, JsonProcessingException  
            {  
                jg.writeString("");  
            }  
        });  
正解!
foreverstar27 2016-07-28
  • 打赏
  • 举报
回复
兄弟,你的问题解决了吗
解开者 2015-09-30
  • 打赏
  • 举报
回复
Spring整合Jackson的话解析是封装在内部的,可以通过bean注入的方式改变解析行为 Spring MVC 中如需设置Jackson的一些参数,可以这么干 这里需要注入的是JsonSerializer的一个实现类,需要把上边的匿名内部类单独拿出来配置成一个bean,然后再按照这个设置方式注入到Converter当中
hewei+ 2015-09-29
  • 打赏
  • 举报
回复
要是 对象为空怎么办 ,list ,map ,枚举 为 null的情况下也会转成 空字符串 ,这样类型不正确了 客户端报错
luori521 2015-07-20
  • 打赏
  • 举报
回复
// 序列化时将null 过滤成"" objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() { @Override public void serialize(Object value, JsonGenerator gen, SerializerProvider serializers) throws IOException, JsonProcessingException { gen.writeString(""); } }); strjson = objectMapper.writeValueAsString(obj);
  • 打赏
  • 举报
回复

objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>()  
        {  
  
            @Override  
            public void serialize(  
                    Object value,  
                    JsonGenerator jg,  
                    SerializerProvider sp) throws IOException, JsonProcessingException  
            {  
                jg.writeString("");  
            }  
        });  
百里马 2014-09-11
  • 打赏
  • 举报
回复
json-lib有jsonConfig,jackson应该也有类似的东西吧
小湘eeeee 2014-09-11
  • 打赏
  • 举报
回复
引用 7 楼 oh_Maxy 的回复:
你的数据对象相关属性,可以定义的时候就给初始值,比如: private String sex=""; private String birthday="";
我就想问问 这个工具有什么方法没.上面的版主给了个方法.看上去是那么回事.但是我不知道加在哪. ,实在不行的话我就自己写个过滤的工具类.
oh_Maxy 版主 2014-09-11
  • 打赏
  • 举报
回复
你的数据对象相关属性,可以定义的时候就给初始值,比如: private String sex=""; private String birthday="";
小湘eeeee 2014-09-11
  • 打赏
  • 举报
回复
引用 5 楼 fangmingshijie 的回复:
你是如何序列号呢? [quote=引用 3 楼 mysd76 的回复:] [quote=引用 2 楼 fangmingshijie 的回复:]

objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>()  
        {  
  
            @Override  
            public void serialize(  
                    Object value,  
                    JsonGenerator jg,  
                    SerializerProvider sp) throws IOException, JsonProcessingException  
            {  
                jg.writeString("");  
            }  
        });  
这段我到是能看明白.但是我不知道应该加在什么地方.[/quote][/quote]

	@RequestMapping("/api/users/info")
	public UserLoginResp userInfo(@RequestBody BaseReq req) throws BusinessException {
        System.out.println(req.toString("/api/users/info"));
		return userService.userInfo(req); <---这里就直接返回对象了.然后我就不知道了.直接返回json了,也不知道在哪配置的
	}
UserLoginResp <---这里的这个对象就是一个一般的pojo
@JsonInclude(Include.NON_NULL)<--如果加了这玩意 就不序列化null的,但是我要null也序列化成""
public class UserLoginResp {
  • 打赏
  • 举报
回复
你是如何序列号呢?
引用 3 楼 mysd76 的回复:
[quote=引用 2 楼 fangmingshijie 的回复:]

objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>()  
        {  
  
            @Override  
            public void serialize(  
                    Object value,  
                    JsonGenerator jg,  
                    SerializerProvider sp) throws IOException, JsonProcessingException  
            {  
                jg.writeString("");  
            }  
        });  
这段我到是能看明白.但是我不知道应该加在什么地方.[/quote]
qingyuan18 2014-09-11
  • 打赏
  • 举报
回复
实体pojo类里面,成员变量属性默认赋""值
小湘eeeee 2014-09-11
  • 打赏
  • 举报
回复
引用 2 楼 fangmingshijie 的回复:

objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>()  
        {  
  
            @Override  
            public void serialize(  
                    Object value,  
                    JsonGenerator jg,  
                    SerializerProvider sp) throws IOException, JsonProcessingException  
            {  
                jg.writeString("");  
            }  
        });  
这段我到是能看明白.但是我不知道应该加在什么地方.

50,527

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧