可以使用序列化/反序列化(pickle / marshal / shelve)在两个Python进程之间传输对象,Groovy / Java进程之间也可以做同样的事情。
大多数简单的Python和Groovy数据结构(如列表,字典,字符串,整数,甚至文件对象)都可以以通用序列化格式以某种方式序列化,并从Python传输到Groovy流程,反之亦然。
我的问题:是否有任何Groovy模块可以解释Python pickle对象流并在Groovy中重新创建简单的数据结构,或者任何可以解释Groovy序列化对象流的Python模块?
答案 0 :(得分:3)
我认为没有用于阅读“对方”格式的库(但也许我错了),特别是如果你要(de)序列化复杂的语言特定对象,如文件。
我建议寻找一些良好的跨语言解决方案,如Thrift或Protocol Buffers,或者简化通信协议并使用像JSON这样的简单方法。
答案 1 :(得分:1)
我建议使用Google Protocol Buffers,因为它现在在行业中被广泛使用。
甚至,我使用相同的方法进行Perl序列化对象和Java对象之间的通信,反之亦然。