Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
692 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 Reply

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...