C# 序列化的简单java对象可以被C反序列化吗?

C# 序列化的简单java对象可以被C反序列化吗?,c#,java,.net,serialization,deserialization,C#,Java,.net,Serialization,Deserialization,假设一个java类的所有字段都是java原语,如果这样一个对象已经被序列化,C#能否成功地将其反序列化为“等效”C#类的实例 是否可以将C与java反向 我意识到有许多与语言无关的格式,比如XML,可以用来完成工作。我更感兴趣的是使用本机序列化数据是否可行。这是不可能的,至少不使用两个框架提供的本机序列化库,如前一篇文章所述 如果要实现跨语言序列化/反序列化,可以使用XML(对于Java,对于C#)或: WOX是一个用于Java和C#对象的XML序列化程序。换句话说,WOX 是一个库(对于Ja

假设一个java类的所有字段都是java原语,如果这样一个对象已经被序列化,C#能否成功地将其反序列化为“等效”C#类的实例

是否可以将C与java反向



我意识到有许多与语言无关的格式,比如XML,可以用来完成工作。我更感兴趣的是使用本机序列化数据是否可行。

这是不可能的,至少不使用两个框架提供的本机序列化库,如前一篇文章所述

如果要实现跨语言序列化/反序列化,可以使用XML(对于Java,对于C#)或:

WOX是一个用于Java和C#对象的XML序列化程序。换句话说,WOX 是一个库(对于Java是woxSerializer.jar,对于Java是woxSerializer.dll) C#)将Java和C#对象序列化为XML,然后再序列化

将有助于实现可互操作的序列化。

它可以
序列化/反序列化
对象
到标准
XML
(独立于平台)

序列化流的格式可用。我认为您可以轻松地编写一个类来解析字节流,并在C#中创建所需的类

指定序列化格式的项目:

如果您还可以包含另一个依赖项,则可以考虑使用对象数据库(如作业)。我自己也没试过,但根据维基百科的文章

当类定义不可用时,db4o使用一个名为“generic reflector”的定制特性来表示类信息,这允许在混合的Java-.NET环境中使用它,例如Java客户机-.NET服务器,反之亦然

您可以找到有关上述反射API和的更多信息


简而言之,这将导致一个系统,在该系统中,您将Java/C#对象存储到(嵌入式)数据库中(即,没有客户机/服务器体系结构,但通过加载包含整个数据库的单个文件),然后从数据库中检索C#/Java对象。

不,我没有尝试过。我想我会先问,以防这根本不可能。这更是我想知道的。我的C#知识非常有限,但如果它可以被描述的话,它可以被编程……它只是字节[]遍历。在这里,您可以查看一个示例java代码来遍历序列化字节。我们已经修改了默认的序列化,所以我们的遍历有点不同。我们曾经检测过脏字段。可以使用更正式的序列化格式定义。答案中的超链接无效。这是不正确的。自Java版本1.1.7以来,Java序列化格式是公开记录和稳定的。假设Java类的所有字段都是Java原语,没有理由不能将Java对象反序列化为C#,除非您必须自己实现解析器。