使用 Java 中的 Jackson 库将 XML 转换为 POJO?

javajsonobject oriented programmingprogramming

JSON Jackson 是一个 Java 库。它具有非常强大的数据绑定功能,并提供了一个框架来将自定义 Java 对象序列化为 JSON,并将 JSON 反序列化回 Java 对象。我们还可以使用 XmlMapper  类的 readValue() 方法将 XML 格式转换为 POJO 对象

语法

public <T> T readValue(XMLStreamReader r, Class<T> valueType) throws IOException

示例

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 ]

相关文章