I map the Java object to JSON using Jackson, this object is a pretty simple pojo class that looks like this:
import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.JsonProperty; @JsonAutoDetect public class Area { @JsonProperty("Id") public int Id; @JsonProperty("Name") public String Name; public Area() { Name = ""; } public int getId() { return Id; } public void setId(int id) { Id = id; } public String getName() { return Name; } public void setName(String Name) { this.Name = Name; } }
Then the display code is as follows:
ObjectMapper mapper = new ObjectMapper(); mapper.setVisibilityChecker(mapper.getSerializationConfig().getDefaultVisibilityChecker() .withFieldVisibility(JsonAutoDetect.Visibility.ANY) .withGetterVisibility(JsonAutoDetect.Visibility.NONE) .withSetterVisibility(JsonAutoDetect.Visibility.NONE) .withCreatorVisibility(JsonAutoDetect.Visibility.NONE)); areaJSON = mapper.writeValueAsString(area);
But the areaJSON value at this point will be as follows:
{"id":0,"name":"","Name":"","Id":0}
Pay attention to several values โโwith a different case.
What am I doing wrong?
source share