Jackson เป็นไลบรารี Java ที่มีความสามารถ Data Binding อันทรงพลัง ให้ Framework สำหรับ Serialize Java Object เป็น JSON และ Deserialize JSON กลับเป็น Java Object ยังสามารถ แปลง XML เป็น POJO ได้โดยใช้เมธอด readValue() ของคลาส XmlMapper
Syntax
public <T> T readValue(XMLStreamReader r, Class<T> valueType) throws IOException
ตัวอย่าง: XML to POJO
import com.fasterxml.jackson.dataformat.xml.*;
public class XMLToPOJOTest {
public static void main(String[] args) throws Exception {
try {
XmlMapper xmlMapper = new XmlMapper();
Person pojo = xmlMapper.readValue(getXmlString(), Person.class);
System.out.println(pojo);
} catch (Exception e) {
e.printStackTrace();
}
}
private static String getXmlString() {
return "<person> <firstName>Adithya</firstName>"
+ "<lastName>Jai</lastName>"
+ "<address>Bangalore</address>" + "</person>";
}
}
// Person class (POJO)
class Person {
private String firstName;
private String lastName;
private String address;
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 String getAddress() { return address; }
public void setAddress(String address) { this.address = address; }
public String toString() {
return "Person[ firstName = " + firstName + ", lastName = " + lastName + ", address = " + address + " ]";
}
}
ผลลัพธ์
Person[ firstName = Adithya, lastName = Jai, address = Bangalore ]
Dependency ที่ต้องการ: jackson-dataformat-xml