XStream可序列化对象

时间:2010-05-11 14:20:21

标签: java serialization xstream

我目前正在使用XStream来序列化一些没有实现Serializable的对象。有没有办法告诉XStream使用Java的默认序列化,如果对象确实实现了Serializable,并且如果不实现则回退到XML序列化?或者我需要在它上面实现一个简单的层来检查?

感谢, 杰夫

1 个答案:

答案 0 :(得分:1)

这不是一个好主意。 Java序列化是二进制表示,XML是文本表示。

java.lang.String为例。这实现了Serializable,但显然你不希望你的字符串在XML中被序列化为二进制blob。类似于数字类型等的东西

XStream有一个注册自定义转换器的机制,我建议你使用它。如果您选择将二进制数据序列化到XML文档中,则需要以某种方式对其进行编码,例如:使用Base64编码。