一些常用的Jackson注解

@JsonProperty用于指定JSON字段映射,@JsonIgnore忽略属性,@JsonInclude处理NULL值,@JsonIgnoreProperties忽略多个属性或未知属性,@JsonPropertyOrder用于属性排序,@JsonIgnoreType则忽略整个类的序列化和反序列化。

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

@JsonProperty: 作用在字段或方法上,用于进行属性的格式化,可以指定key名

例子:

    @JsonProperty("user_id")
    private Integer userId;

如果不加这个注解,返回json的key就是userId而不是user_id

@JsonIgnore: 作用在字段或方法上,用于忽略属性,不生成json,不接收json数据

注意,这个既不接收json也不生成json

@JsonInclude(JsonInclude.Include.NON_NULL): 当这个值不为null的时候生成json,不影响接收json
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String userPhonenumber;

此时当我们的数据库中没有手机号的时候,就不会生成json,同时也不会影响其前端传来的接收json。

@JsonIgnoreProperties:

作用在类上,用来说明有些属性在序列化/反序列化时需要忽略掉,可以将它看做是@JsonIgnore的批量操作,但它的功能比@JsonIgnore要强,比如一个类是代理类,我们无法将将@JsonIgnore标记在属性或方法上,此时便可用@JsonIgnoreProperties标注在类声明上,它还有一个重要的功能是作用在反序列化时解析字段时过滤一些未知的属性,否则通常情况下解析到我们定义的类不认识的属性便会抛出异常。

可以注明是想要忽略的属性列表如@JsonIgnoreProperties({"name","age","title"}),

也可以注明过滤掉未知的属性如@JsonIgnoreProperties(ignoreUnknown=true)

@JsonPropertyOrder:

作用在类上,被用来指明当序列化时需要对属性做排序,它有2个属性

一个是alphabetic:布尔类型,表示是否采用字母拼音顺序排序,默认是为false,即不排序

@JsonIgnoreType

作用于类,表示被注解该类型的属性将不会被序列化和反序列化

后面的以后学到了,用到了再补充。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值