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> (রুট ক্লাস নাম)