当前位置:  开发笔记 > 编程语言 > 正文

使用C#序列化Java反序列化对象

如何解决《使用C#序列化Java反序列化对象》经验,为你挑选了1个好方法。

我有两个需要相互交谈的应用程序.App1需要能够序列化App2然后可以反序列化的对象.轻松完成,对吧?这是问题所在; App1基于C#,App2基于Java.因此App1需要以Java二进制文件格式写出文件.如何才能做到这一点?

我看到它的方式,我有两个选择.第一个是弄清楚在C#中序列化Java对象的一些方法,以便App1只创建适当的文件.我的另一个选择是用Java编写一个转换器来读取文件并相应地填充对象并序列化新填充的对象.这样C#app只需写出转换器然后解释的某种格式化文本文件.

我无法对Java应用程序进行任何更改.

该怎么做?

更新:

Java应用程序已经掌握在客户手中,因此更改序列化方案会导致客户现有数据不兼容.Java App在处理此对象时使用本机java序列化.不能对Java应用程序进行修改.

C#app使用协议缓冲区来序列化自己的数据.



1> Kevin Peters..:

最佳答案是选项3:使用语言中立的序列化方案.

我使用JavaScript.Thrift是另一种选择,我认为协议缓冲区更侧重于RPC,但也应该可用于序列化.XML或自定义二进制格式将是其他选项.

编辑:对不起,没有注意到您无法更改Java应用程序.也就是说,最好的方法可能是创建自己定义良好的格式,编写一个可以读取该格式的Java应用程序,然后为遗留应用程序输出一个序列化的java对象.


也许是这样,但结果必须仍然是Java的格式.问题是:"我无法对Java应用程序进行任何更改."
推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有