我正在使用javax.xml.bind.annotation.XmlRootElement注释对象将其序列化为xml字符串。
JAXBContext jc = JAXBContext.newInstance(obj.getClass());
// Marshal the object to a StringWriter
Marshaller marshaller = jc.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
marshaller.setProperty(Marshaller.JAXB_SCHEMA_LOCATION, "http://www.example.com/schema.xsd");
StringWriter stringWriter = new StringWriter();
marshaller.marshal(obj, stringWriter);
result = stringWriter.toString();
如何排除对象的某些字段以便不发送它们?必须注释类字段的注释,以便将其从最终字符串中排除。
答案 0 :(得分:2)
答案 1 :(得分:1)
您可以使用transient
关键字来省略序列化字段。
例如:
int k;
transient int j;
Variable j
不会被序列化,因为我们已经提到了transient
关键字。