Computer >> Máy Tính >  >> Lập trình >> Java

Làm thế nào để chuyển đổi một bean sang XML bằng cách sử dụng JSON-lib API trong Java?


net.sf.json.xml.XMLSerializer class là một lớp tiện ích để chuyển đổi JSON sang XML. Khi chuyển đổi JSONObject đối với XML, lớp này có thể thêm các gợi ý để chuyển đổi trở lại JSON. Chúng tôi có thể sử dụng write () phương thức của XMLSerializer lớp để viết một giá trị JSON vào một chuỗi XML với mã hóa UTF-8 và nó có thể trả về một biểu diễn chuỗi của một tài liệu XML được định dạng tốt.

Cú pháp

public String write(JSON json)

Ví dụ

import net.sf.json.JSONObject;
import net.sf.json.xml.XMLSerializer;
public class ConvertBeanToXMLTest {
   public static void main(String[] args) {
      Student student = new Student("Sai", "Adithya", 25, "Pune");
      JSONObject jsonObj = JSONObject.fromObject(student);
      System.out.println(jsonObj.toString(3)); //pretty print JSON
      XMLSerializer xmlSerializer = new XMLSerializer();
      String xml = xmlSerializer.write(jsonObj);
      System.out.println(xml);
   }
   public static class Student {
      private String firstName, lastName, address;
      public int age;
      public Student(String firstName, String lastName, int age, String address) {
         super();
         this.firstName = firstName;
         this.lastName = lastName;
         this.age = age;
         this.address = address;
      }
      public String getFirstName() {
         return firstName;
      }
      public String getLastName() {
         return lastName;
      }
      public int getAge() {
         return age;
      }
      public String getAddress() {
         return address;
      }
   }
}

Đầu ra

{
   "firstName": "Sai",
   "lastName": "Adithya",
   "address": "Pune",
   "age": 25
}
<?xml version="1.0" encoding="UTF-8"?>
<o>
 <address type="string">Pune</address>
 <age type="number">25</age>
 <firstName type="string">Sai</firstName>
 <lastName type="string">Adithya</lastName>
</o>