Jackson属性名转换+属性忽略

勿忘初心2018-12-02 13:53

此文已由作者赵计刚薪授权网易云社区发布。

欢迎访问网易云社区,了解更多网易技术产品运营经验。


@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class MyRecord {
    private boolean succeed;
    private String  recordId;
    @JsonProperty("error_code")
    private int     errorCode;
    @JsonProperty("error_msg")
    private String  errorMsg;
}

一、Jackson转换属性

场景:json串传过来的属性名为error_code,但是我的模型User的属性为errorCode

    @JsonProperty("error_code")
    private int     errorCode;

二、Jackson忽略属性

场景:json串传来了20个属性,但是我只要其中的4个。

解决方案:在类上添加如下属性

@JsonIgnoreProperties(ignoreUnknown = true)

三、Jackson类型转换model需要空构造器

注意:注意这就说明,我们对于接收的model不要使用@Builder构造器模式(该注解是没有空构造器的)


免费体验云安全(易盾)内容安全、验证码等服务

更多网易技术、产品、运营经验分享请点击