我有两个需要彼此交谈的应用程序。 App1需要能够序列化App2然后可以反序列化的对象。轻松完成,对吗?这是问题所在; App1是基于C#的,App2是基于Java的。所以App1需要以Java二进制文件格式写出文件。如何才能做到这一点?使用C#序列化Java可反序列化的对象
我看到它的方式有两种选择。第一种方法是找出某种方式在C#中序列化Java对象,以便App1创建适当的文件。我的另一种选择是用Java编写一个转换器,它读入文件并相应地填充对象并序列化新填充的对象。这样C#应用程序只需要写出一些格式化的文本文件,然后转换器就可以解释。
我无法对Java应用程序进行任何更改。
应该怎么做?
更新:
Java的应用程序已在客户因此更改序列化方案会导致现有数据的客户是不兼容的手中。处理此对象时,Java应用程序使用本机Java序列化。对Java应用程序的修改不会发生。
C#应用程序使用协议缓冲区来序列化自己的数据。
是否必须使用二进制格式? Java支持XML序列化。 – Steve 2009-05-04 21:34:34
我认为,是的,它必须是二进制格式,因为他不允许改变它。 – mmr 2009-05-04 22:04:54