JSON-lib জাভা বিন, ম্যাপ, অ্যারে, কালেকশন সিরিয়ালাইজ/ডিসিরিয়ালাইজ করার জাভা লাইব্রেরি। XMLSerializer ক্লাসের setTypeHintsEnabled() মেথড ব্যবহার করে বিনকে টাইপ হিন্ট ছাড়া XML-এ কনভার্ট করা যায়। এই মেথড সেট করে JSON টাইপ অ্যাট্রিবিউট হিসেবে ইনক্লুড হবে কিনা। false পাস করলে XML-এ টাইপ হিন্ট ডিসএবল হয়।
সিনট্যাক্স
public void setTypeHintsEnabled(boolean typeHintsEnabled)
উদাহরণ
import net.sf.json.JSONObject;
import net.sf.json.xml.XMLSerializer;
public class ConvertBeanToXMLNoHintsTest {
public static void main(String[] args) {
Employee emp = new Employee("Krishna Vamsi", 115, 30, "Java");
JSONObject jsonObj = JSONObject.fromObject(emp);
System.out.println(jsonObj.toString(3)); // প্রিটি প্রিন্ট JSON
XMLSerializer xmlSerializer = new XMLSerializer();
xmlSerializer.setTypeHintsEnabled(false); // টাইপ হিন্ট ডিসএবল
String xml = xmlSerializer.write(jsonObj);
System.out.println(xml);
}
public static class Employee {
private String empName, empSkill;
private int empId, age;
public Employee(String empName, int empId, int age, String empSkill) {
super();
this.empName = empName;
this.empId = empId;
this.age = age;
this.empSkill = empSkill;
}
public String getEmployeeName() { return empName; }
public int getEmployeeId() { return empId; }
public String getEmployeeSkill() { return empSkill; }
public int getAge() { return age; }
}
}
আউটপুট
{
"employeeName": "Krishna Vamsi",
"employeeSkill": "Java",
"employeeId": 115,
"age": 30
}
30
115
Krishna Vamsi
Java
টাইপ হিন্ট সহ XML (ডিফল্ট)
30
115
Krishna Vamsi
Java
নোট
- JSON-lib পুরনো, আধুনিক প্রজেক্টে Jackson XML মডিউল (jackson-dataformat-xml) ব্যবহার করুন
- Jackson-এ:
XmlMapper xmlMapper = new XmlMapper(); xmlMapper.writeValueAsString(emp); - টাইপ হিন্ট ডিসএবল:
xmlMapper.disable(SerializationFeature.WRITE_ROOT_VALUE);বা কাস্টম সিরিয়ালাইজার