当前位置: 代码迷 >> 综合 >> jackson使用@JsonIgnore与@JsonIgnoreProperties注解忽略某些属性与忽略所有未知属性
  详细解决方案

jackson使用@JsonIgnore与@JsonIgnoreProperties注解忽略某些属性与忽略所有未知属性

热度:89   发布时间:2024-02-24 20:59:13.0

 

1.简介

 

jackson中如果不做特殊处理,反序列化时如果遇到未知属性,会报错

有时序列化/反序列化时想要忽略一些属性,比如忽略用户密码,因为敏感数据不适宜序列化

有时反序列化时想要忽略所有未知属性,jackson提供了两个注解:

  • JsonIgnore:注解在属性上,代表序列化反序列化时忽略指定属性
  • JsonIgnoreProperties:注解在类上,代表序列化反序列化时忽略指定属性,也可以忽略所有未知属性

 

2.JsonIgnore

 

2.1 实体

 

import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;import java.util.Date;@Data
public class User {@JsonIgnoreprivate Integer id;private String name;private Date birthday;}

 

2.2 测试

 

        ObjectMapper mapper = new ObjectMapper();User user = new User();user.setId(1);user.setName("lisi");user.setBirthday(new Date());String result =