如何在PHP中反序列化用Java序列化的对象

ste*_*bot 3 php java serialization

有没有办法在PHP中反序列化一个用Java序列化的对象?IE如果我有一个实现序列化的Java类,我使用ObjectOutputStream来编写对象,并将结果转换为字符串,那么PHP中是否有一种方法可以获取该字符串并从中创建类似的对象表示?

Java Serialized数据是什么样的?

响应:

???sr?com.site.entity.SessionV3Data?????????xpsr?java.util.HashMap???`??F?
Run Code Online (Sandbox Code Playgroud)

loadFactorI thresholdxp?@ w t sessionIdt 0NmViMzUxYWItZDRmZC00MWY4LWFlMmUtZjg2YmZjZGUxNjg5xx

:)

Mar*_*ers 7

我强烈建议你不要这样做.Java序列化意味着Java实例既可以保存也可以加载数据(用于传输到另一个Java应用程序或者在同一个应用程序的调用之间进行持久化).它根本不是一个跨平台的协议.

我建议你在两者之间建立一个API适配器层.将Java对象的内容输出为可以在PHP中使用的格式,可以是XML,YAML,甚至是二进制格式(可以使用DataOutputStream).

  • 我会序列化为JSON.它的轻量级,易于PHP解析. (3认同)