JSON-lib cho phép convert Bean → JSON → XML. XMLSerializer.setTypeHintsEnabled(false) tắt type hint attribute (type="string", type="number") trong XML output.
Cú pháp
public void setTypeHintsEnabled(boolean typeHintsEnabled)
Ví dụ minh họa
import net.sf.json.JSONObject;
import net.sf.json.xml.XMLSerializer;
public class BeanToXmlNoHintsTest {
public static void main(String[] args) {
Employee emp = new Employee("Krishna Vamsi", 115, 30, "Java");
JSONObject jsonObj = JSONObject.fromObject(emp);
System.out.println("JSON: " + jsonObj.toString(3));
XMLSerializer xmlSerializer = new XMLSerializer();
xmlSerializer.setTypeHintsEnabled(false); // TẮT type hints
String xml = xmlSerializer.write(jsonObj);
System.out.println("XML (no hints):\n" + xml);
}
static class Employee {
private String empName, empSkill;
private int empId, age;
// constructor, getters...
}
}
Output
JSON:
{
"employeeName": "Krishna Vamsi",
"employeeSkill": "Java",
"employeeId": 115,
"age": 30
}
XML (no hints):
30
115
Krishna Vamsi
Java
Với type hints (mặc định): Mỗi element có attribute type="string|number|...".
Lưu ý
- JSON-lib **deprecated**. Dự án mới dùng **Jackson XML** (
jackson-dataformat-xml) hoặc **JAXB**. - Jackson XML:
XmlMappervới annotation@JacksonXmlRootElement,@JacksonXmlProperty. - Root element mặc định là
<o>(object). Jackson cho phép customize root name.
Ví dụ Jackson XML (Modern)
// Dependency: com.fasterxml.jackson.dataformat:jackson-dataformat-xml
XmlMapper xmlMapper = new XmlMapper();
String xml = xmlMapper.writeValueAsString(emp);
// Output: ... ...