Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
696 views
in Technique[技术] by (71.8m points)

jackson - use @jsonProerty annotation instead of getter method while mapping json string to object

Java Class

public class Employee{

    @JsonProperty("NAME")
    private String name;
   

 @JsonProperty("NAME")
    public String getName() {
        return name;
    }

    @JsonProperty("NAME")
    public void setName(String name) {
        this.name = name;
    }

  }

Input Json String {"NAME":"xxxx"}

ObjectMapper mapper=new ObjectMapper();
 
 Employee employee = mapper.readValue(jsonMessage, Employee.class);

system.out.println(employee.toString);

output === {"name":"xxxx"}

while mappring json string to java class, Is there any way to tell to use @JsonProperty instead of getterMethod ? if I print object, expecting same output as input.

question from:https://stackoverflow.com/questions/66067957/use-jsonproerty-annotation-instead-of-getter-method-while-mapping-json-string-t

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You confused System.out.println which does not obey any Jackson annotation with a classical String employeeAsString = mapper.writeValueAsString(employee).

Try the latter one and you'll get your field name in uppercase.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...