Jackson 注解 -- 修改字段名

    xiaoxiao2023-10-29  29

    – Start

    点击此处观看本系列配套视频。


    如果 JSON 和对象字段名不匹配,我们可以使用注解 @JsonGetter 和 @JsonSetter

    package shangbo.jackson.demo11; import java.util.Date; import org.apache.commons.lang3.builder.ToStringBuilder; import com.fasterxml.jackson.annotation.JsonGetter; import com.fasterxml.jackson.annotation.JsonSetter; public class Person { private String firstname; private String lastname; private Date birthday; public String toString() { return ToStringBuilder.reflectionToString(this); } public String getFirstname() { return firstname; } public void setFirstname(String firstname) { this.firstname = firstname; } public String getLastname() { return lastname; } public void setLastname(String lastname) { this.lastname = lastname; } @JsonGetter("age") public Date getBirthday() { return birthday; } @JsonSetter("age") public void setBirthday(Date birthday) { this.birthday = birthday; } } package shangbo.jackson.demo11; import java.util.Date; import com.fasterxml.jackson.databind.ObjectMapper; public class App { public static void main(String[] args) throws Exception { // 实例化 ObjectMapper 对象 ObjectMapper objectMapper = new ObjectMapper(); // 将对象转成 json String json = objectMapper.writeValueAsString(newPerson()); System.out.println(json); // 将 json 转成对象 Person shangbo = objectMapper.readValue(json, Person.class); System.out.println(shangbo); } private static Person newPerson() { Person shangbo = new Person(); shangbo.setFirstname("Bo"); shangbo.setLastname("Shang"); shangbo.setBirthday(new Date()); return shangbo; } }

    – 更多参见:Jackson 精萃 – 声 明:转载请注明出处 – Last Updated on 2019-05-25 – Written by ShangBo on 2019-05-25 – End

    最新回复(0)