如何序列化Java对象以便可被Python的pickle反序列化?

10 投票
2 回答
8944 浏览
提问于 2025-04-17 03:07

我正在使用一个Python服务,这个服务在它的协议中使用了“pickle”格式的消息。我想从Java中查询这个服务,但为了做到这一点,我需要在客户端(Java)将我的消息进行“pickle”处理。有没有在JVM上可以运行的pickle实现呢?最好是依赖尽量少的那种。

补充说明:我不能修改服务器端,所以虽然使用其他序列化方式会很方便,但在这里并不能解决问题。

2 个回答

1

你可以使用像GSON或Jackson这样的Java JSON序列化工具来很简单地把数据转换成JSON格式,然后再用Python的json pickle来把这些数据转换回来。

6

经过进一步的调查,我发现了一个叫做 pyrolite 的库,它是MIT许可的。这意味着你可以自由使用它。这个库可以让Java和.NET程序与Python进行交互。除了可以远程操作对象之外,更重要的是,它还包含了一个 pickle 的序列化和反序列化功能。

撰写回答