是否可以在 C# 中序列化类/对象并在 java 中反序列化它们。我想序列化类而不是任何 XML/JSON 数据。请澄清。
谢谢
最佳答案
我在这里看到 3 个选项。我建议选项 1,Protobufs。
研究 Google 的 ProtoBufs
或者一些等价物。这是 java version.这是一个 C# port.
Protobufs 意味着这种语言互操作。它是二进制的、小的、快速的和与语言无关的。
同时它还具有向后兼容性,因此如果您将来更改序列化对象,您仍然可以读取它们。此功能对您来说也是透明的,只要您编写代码时了解在反序列化旧对象时可能会丢失较新的变量。这是一个巨大的优势!
在另一种语言中实现一种语言的默认序列化
您可以尝试在 C# 中实现 java 序列化逻辑,或在 Java 中实现 C# 序列化例程。我不建议这样做,因为它会更困难、更冗长,而且在您编写新代码时几乎肯定会更慢,并且会给您带来相同的结果。
手动编写序列化例程
这肯定会很快,但是很乏味,更容易出错,更难维护,更不灵活......
Here's some benchmarks对于像 ProtoBufs 这样的库。这应该有助于您为您的用例选择最佳的。
关于c# - C#中的序列化和Java中的反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17978066/