Jackson ObjectMapper

    xiaoxiao2023-09-26  93

    – Start

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


    Jackson 的 ObjectMapper 可以非常轻松的帮我们实现对象和 JSON 的互转,下面是一个简单的例子。

    package shangbo.jackson.demo1; import java.util.ArrayList; import java.util.List; 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() { List<PhoneNumber> phones = new ArrayList<>(); PhoneNumber phone = new PhoneNumber(); phone.setCode("86"); phone.setNumber("0411-12345678"); phones.add(phone); PhoneNumber cell = new PhoneNumber(); cell.setCode("86"); cell.setNumber("18912345678"); phones.add(cell); Address address = new Address(); address.setState("LiaoNing"); address.setCity("DaLian"); address.setStreat("GaoXingQu"); Person shangbo = new Person(); shangbo.setFirstname("Bo"); shangbo.setLastname("Shang"); shangbo.setAddress(address); shangbo.setPhones(phones); return shangbo; } } package shangbo.jackson.demo1; import java.util.List; import org.apache.commons.lang3.builder.ToStringBuilder; public class Person { private String firstname; private String lastname; private Address address; private List<PhoneNumber> phones; 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; } public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } public List<PhoneNumber> getPhones() { return phones; } public void setPhones(List<PhoneNumber> phones) { this.phones = phones; } } package shangbo.jackson.demo1; import org.apache.commons.lang3.builder.ToStringBuilder; public class Address { private String state; private String city; private String streat; public String toString() { return ToStringBuilder.reflectionToString(this); } public String getState() { return state; } public void setState(String state) { this.state = state; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getStreat() { return streat; } public void setStreat(String streat) { this.streat = streat; } } package shangbo.jackson.demo1; import org.apache.commons.lang3.builder.ToStringBuilder; public class PhoneNumber { private String code; private String number; public String toString() { return ToStringBuilder.reflectionToString(this); } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getNumber() { return number; } public void setNumber(String number) { this.number = number; } }

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

    最新回复(0)