XStream 可序列化对象

发布于 2024-09-01 07:26:32 字数 156 浏览 5 评论 0原文

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

谢谢, 杰夫

I am currently using XStream to serialize some of my objects that don't implement Serializable. Is there a way to tell XStream to use Java's default serialization if the object does implement Serializable and to fall back on XML serialization if it does not? Or would I need to implement a simple layer on top of it to check?

thanks,
Jeff

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

桃酥萝莉 2024-09-08 07:26:32

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

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

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

This would not be a good idea. Java serialization is a binary representation, XML is a textual representation.

Take java.lang.String, for instance. This implements Serializable, but clearly you would not want your Strings serialized as binary blobs inside your XML. Similarly for things like numeric types, etc.

XStream has a mechanism for registering custom converters, I suggest you use that. if you choose to serialize binary data into your XML document, you'll need to encode it somehow, e.g. with Base64 encoding.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文