Java – if the value in JSON is null, the default value is provided for the property
                                        
                    •
                    Java                                    
                Suppose I have a class, that is
private class Student {
        private Integer x = 1000;
        public Integer getX() {
            return x;
        }
        public void setX(Integer x) {
            this.x = x;
        }
    }
Now suppose JSON is "{X: 12}" and deserialized, then the value of X is 12 However, if JSON is "{}", then x = 1000 (get is the default value from the attribute, which will be announced in class)
Now, if JSON is "{X: null}", the value of X becomes null, but even in this case, I want the value of X to be 1000 How to do this through Jackson Thank you in advance
I deserialize if it still helps: objectmapper Readvalue (< JSON string here >, student. Class);
Solution
You should be able to override the setter Add @ jsonproperty (value = "X") comments to getters and setters to let Jackson know how to use them:
private class Student {
    private static final Integer DEFAULT_X = 1000;
    private Integer x = DEFAULT_X;
    @JsonProperty(value="x")
    public Integer getX() {
        return x;
    }
    @JsonProperty(value="x")
    public void setX(Integer x) {
        this.x = x == null ? DEFAULT_X : x;
    }
}
                
                            The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
                        
                                            
                        THE END
                    
                    
                    
                                                        二维码
                        
                        
                                                
                        