博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Jackson2.1.4 序列化对象时,过滤null的属性 empty的属性 default的属性
阅读量:5132 次
发布时间:2019-06-13

本文共 1682 字,大约阅读时间需要 5 分钟。

在进行序列化如何过滤为null的属性,empty的属性,或者default的属性。

 

一、全局注册 objectMapper.setSerializationInclusion(Include.ALWAYS);

二、具体类上打注解

@JsonSerialize(include = Inclusion.NON_NULL)public class MyTypeWithoutNulls{    public String mayHaveValue; // will not be included if value is null}

三、具体属性上打注解

@JsonInclude(Include.NON_NULL)public Date getBirthday() {  return birthday;}

 

测试用例

public class User {private int id;        private String name;        private Date birthday;    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    } //将该标记放在属性上,如果该属性为NULL则不参与序列化    //如果放在类上边,那对这个类的全部属性起作用    //Include.Include.ALWAYS 默认    //Include.NON_DEFAULT 属性为默认值不序列化    //Include.NON_EMPTY 属性为 空(“”)  或者为 NULL 都不序列化    //Include.NON_NULL 属性为NULL 不序列化    @JsonInclude(Include.NON_NULL)    public Date getBirthday() {        return birthday;    }    public void setBirthday(Date birthday) {        this.birthday = birthday;    }    }
//测试方法ObjectMapper mapper = new ObjectMapper();User user = new User(1,"jack",null);String outJson = mapper.writeValueAsString(user);System.out.println(outJson);//测试结果//{"id":1,"name":"jack"}
ObjectMapper mapper = new ObjectMapper();//通过该方法对mapper对象进行设置,所有序列化的对象都将按改规则进行系列化//Include.Include.ALWAYS 默认//Include.NON_DEFAULT 属性为默认值不序列化//Include.NON_EMPTY 属性为 空(“”)  或者为 NULL 都不序列化//Include.NON_NULL 属性为NULL 不序列化mapper.setSerializationInclusion(Include.NON_NULL);User user = new User(1,"",null);String outJson = mapper.writeValueAsString(user);System.out.println(outJson);

 

转载于:https://www.cnblogs.com/daxin/p/3277758.html

你可能感兴趣的文章
【架构】Linux的架构(architecture)
查看>>
ASM 图解
查看>>
Date Picker控件:
查看>>
你的第一个Django程序
查看>>
grafana授权公司内部邮箱登录 ldap配置
查看>>
treegrid.bootstrap使用说明
查看>>
[Docker]Docker拉取,上传镜像到Harbor仓库
查看>>
javascript 浏览器类型检测
查看>>
nginx 不带www到www域名的重定向
查看>>
记录:Android中StackOverflow的问题
查看>>
导航,头部,CSS基础
查看>>
[草稿]挂载新硬盘
查看>>
[USACO 2017 Feb Gold] Tutorial
查看>>
关于mysql中GROUP_CONCAT函数的使用
查看>>
OD使用教程20 - 调试篇20
查看>>
Java虚拟机(JVM)默认字符集详解
查看>>
Java Servlet 过滤器与 springmvc 拦截器的区别?
查看>>
(tmp >> 8) & 0xff;
查看>>
linux命令之ifconfig详细解释
查看>>
NAT地址转换
查看>>