可以通过C#反序列化序列化的简单java对象吗?
假设java类的所有字段都是java原语,如果这样的对象已被序列化,那么C#是否可以成功地将其反序列化为“等效”C#类的实例?
反过来可能 – C#到java?
我意识到有许多与语言无关的格式,例如可用于完成工作的XML。 我更感兴趣的是使用本机序列化数据是否可行。
可以使用序列化流的格式。 我认为你可以轻松编写一个类来解析字节流并在C#中创建所需的类。
一篇指定序列化格式的文章: http : //www.javaworld.com/community/node/2915
这是不可能的,至少不使用两个框架提供的本机序列化库,如前面的SOpost中所述。
如果要实现跨语言序列化/反序列化,可以使用XML( XSTream for Java, XStream-dot-net for C#)或WOX :
WOX是Java和C#对象的XML序列化程序。 换句话说,WOX是一个库(用于Java的woxSerializer.jar,用于C#的woxSerializer.dll),用于将Java和C#对象序列化为XML,然后再返回。
WOX将有助于实现可互操作的序列化。
它可以serialize/deserialize
Java/C#
对象serialize/deserialize
into/from
标准XML
(独立into/from
平台)
如果您可以包含另一个依赖项,则可以考虑使用对象数据库(如db4o)作为作业。 我自己没试过,但根据维基百科的文章,
当类定义不可用时,db4o使用称为“genericsreflection器”的自定义function来表示类信息,这允许在混合Java-.NET环境中使用它,例如Java客户端 – .NET服务器,反之亦然。
您可以在此处和此处找到有关上述reflectionAPI的更多信息。
简而言之,这将导致一个系统,您将Java / C#对象存储到(嵌入式)数据库(即,没有客户端/服务器体系结构,但通过加载包含整个数据库的单个文件)并检索C#/ Java之后来自数据库的对象。