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

本文介绍了Jackson库中用于处理序列化和反序列化时忽略属性的两个注解:@JsonIgnore和@JsonIgnoreProperties。@JsonIgnore注解可以用于单个属性,使其在序列化或反序列化过程中被忽略,而@JsonIgnoreProperties则可以应用在类级别,忽略指定属性或所有未知属性。通过示例展示了如何使用这两个注解来忽略特定属性(如id)和所有未知属性,以避免处理敏感数据或避免因未知属性导致的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 {

    @JsonIgnore
    private Integer id;

    private String name;

    private Date birthday;

}

2.2 测试

        ObjectMapper mapper = new ObjectMapper();

        User user = new User();
        user.setId(1);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值