0

可以使用序列化/反序列化(pickle/marshal/shelve)在两个 Python 进程之间传输对象,在 Groovy/Java 进程之间也可以实现同样的事情。

大多数简单的 Python 和 Groovy 数据结构,如列表、字典、字符串、整数,甚至文件对象,都可以以某种通用的序列化格式进行序列化,并从 Python 传输到 Groovy 进程,反之亦然。

我的问题:是否有任何 Groovy 模块可以解释 Python 腌制对象流并在 Groovy 中重新创建简单的数据结构,或者任何可以解释 Groovy 序列化对象流的 Python 模块?

4

2 回答 2

3

我认为没有用于阅读“对面”格式的库(但也许我错了),特别是如果您要(反)序列化复杂的特定于语言的对象(如文件)。

我建议寻找一些成熟的跨语言解决方案,例如ThriftProtocol Buffers,或者简化通信协议并使用 JSON 等简单的东西。

于 2012-12-31T14:26:29.683 回答
1

我建议使用 Google Protocol Buffers,因为它现在在行业中被广泛使用。

甚至,我在 Perl 序列化对象和 Java 对象之间使用相同的通信,反之亦然。

ProtoBuf RPC 示例

协议缓冲区 Java 教程

于 2012-12-31T14:34:34.660 回答