C#中的序列化和Java中的反序列化

Aad*_*ada 3 c# java serialization deserialization

是否可以在C#中序列化类/对象并在java中反序列化相同的对象.我想序列化类而不是任何XML/JSON数据.请澄清.

谢谢

Wil*_*son 5

我在这里看到3个选项.我建议选项1,Protobufs.

查看Google的ProtoBufs

或者一些等价物.这是java版本. 这是一个C#端口.

Protobufs意味着这种语言互操作.它的二进制,小型,快速和语言无关.

它还具有向后兼容性,因此如果您将来更改序列化对象,您仍然可以阅读它们.此功能对您来说也是透明的,只要您编写代码,了解在反序列化的旧对象时可能会丢失较新的变量.这是一个巨大的优势!

在另一个中实现一种语言的默认序列化

您可以尝试在C#中实现java序列化逻辑,或在Java中实现C#序列化例程.我不建议这样做,因为当你编写新代码时,它会更难,更冗长,几乎肯定会更慢,并且会给你带来相同的结果.

手动编写序列化例程

这肯定会很快,但很乏味,更容易出错,难以维护,灵活性降低......

这是 ProtoBufs等库的一些基准测试.这应该有助于您为您的用例选择最佳的一个.