Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 JSON-lib API를 사용하여 빈을 XML로 변환하는 방법은 무엇입니까?


net.sf.json.xml.XMLSerializer class는 JSON을 XML로 변환하기 위한 유틸리티 클래스입니다. JSONObject 변환 시 인스턴스를 XML로 변환하는 경우 이 클래스는 JSON으로 다시 변환하기 위한 힌트를 추가할 수 있습니다. write()를 사용할 수 있습니다. XMLSerializer 메소드 UTF-8 인코딩을 사용하여 JSON 값을 XML 문자열에 작성하고 올바른 형식의 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>