কম্পিউটার টিউটোরিয়াল

JSON-lib API দিয়ে বিন থেকে XML কনভার্ট

net.sf.json.xml.XMLSerializer ক্লাস JSON থেকে XML ট্রান্সফরম করার ইউটিলিটি ক্লাস। JSONObject ইনস্ট্যান্স XML-এ ট্রান্সফরম করার সময় এই ক্লাস JSON-এ ফিরে কনভার্ট করার জন্য হিন্ট যোগ করতে পারে। XMLSerializer ক্লাসের write() মেথড ব্যবহার করে JSON ভ্যালুট UTF-8 এনকোডিংয়ে 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)); // প্রিটি প্রিন্ট 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
}


  
Pune
25 Sai Adithya

ব্যাখ্যা

  • রুট এলিমেন্ট <o> (অবজেক্টের জন্য)
  • প্রতিটি প্রপার্টি আলাদা এলিমেন্টে
  • type অ্যাট্রিবিউটে JSON টাইপ (string, number, boolean, array, object)
  • টাইপ হিন্ট ডিসএবল করতে setTypeHintsEnabled(false) ব্যবহার করুন (পূর্বের আর্টিকেল)

আধুনিক বিকল্প (Jackson XML)

XmlMapper xmlMapper = new XmlMapper();
xmlMapper.enable(SerializationFeature.INDENT_OUTPUT);
String xml = xmlMapper.writeValueAsString(student);
// আউটপুট: <Student><firstName>Sai</firstName>...</Student> (রুট ক্লাস নাম)
  1. জাভাতে স্ট্রিংকে ক্যারেক্টার অ্যারে-এ কনভার্ট করার কতটি পদ্ধতি আছে?

  2. জ্যাকসন লাইব্রেরি ব্যবহার করে জাভাতে POJO কে XML-এ কনভার্ট করা

  3. জাভাতে XML কে JSON অ্যারে-এ রূপান্তর করা

  4. জাভাতে CLOB টাইপকে String-এ কনভার্ট কীভাবে করবেন?