我有一个用 C# 实现的客户端-服务器系统,客户端和服务器通过序列化/反序列化交换 .Net 对象并通过 TCP/IP 进行通信。它在本地网络上运行,不是基于 Web 或基于 Internet。
现在我想包括通过 wifi 连接的 Android 客户端。再次强调,这只是本地网络,不是通过互联网,也不是基于网络的。 Android 编程将使用 Java。 (我知道 Android 版 Mono,但现在不想深入了解。)
是否有一些相当简单的方法来实现 Java 和 .Net 对象之间的对象到对象交换,当然前提是它们兼容?
我已经研究了一点 JSON(Java 端的 Jackson 和 .Net 端的 Json.Net),我猜这可能是可以完成的,但只有在尽快重新映射每一端的内容方面付出巨大努力对象变得相当复杂。
还有其他建议吗?基于 JSON 还是其他?
附言。我的问题与这个有点相关用于将 Java 的 JSON 与 C# 相互转换的映射工具,但它从未得到合适的答案,可能是由于问题中的信息不足。另外,我不在乎我最终是否使用基于 JSON 的传输或 XML 或其他东西。
我建议使用 JSON 或 XML(基于 .xsd 文件),因为它们独立于各自的实现(而不是类似ObjectOutputStream
在java中)。
在两个组件(客户端和服务器)之间采用这种格式的问题是它们需要具有相同的版本。我的最佳实践是有一个格式的底层定义(我将 xml 与 xsd 文件一起使用,该文件指定 xml 的外观),然后使用jaxb
生成java类。这样您就可以在 java 部分中对 xml 进行编组(解组)。
我非常确信 .NET 世界中也存在类似的事情。
JSON 的大小比 xml 小,我发现 xml 更具可读性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)