Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะแปลง bean เป็น XML โดยใช้ JSON-lib API ใน Java ได้อย่างไร


net.sf.json.xml.XMLSerializer class เป็นคลาสยูทิลิตี้สำหรับการแปลง JSON เป็น XML เมื่อแปลง JSONObject อินสแตนซ์เป็น XML คลาสนี้สามารถเพิ่มคำแนะนำสำหรับการแปลงกลับเป็น JSON เราสามารถใช้ write() วิธีการของ XMLSerializer เพื่อเขียนค่า JSON ลงในสตริง XML ที่มีการเข้ารหัส UTF-8 และสามารถส่งคืนการแสดงสตริงของเอกสาร XML ที่มีรูปแบบอย่างดี

ไวยากรณ์

public String write(JSON json)

ตัวอย่าง

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;
      }
   }
}

ผลลัพธ์

{
   "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>