如何反序列化未知类的对象

Cri*_*eco 4 java serialization json

我需要打印序列化Java对象的内容(例如,从缓存中检索的java.io.Serializable POJO),而不知道它的类是先验的.

更具体一点,我不需要使用经典的ObjectInputStream来实例化一个新对象,我只需要获得对象的简单的人类可读表示(最好是JSON)而不需要在类路径中加载它的类.

换句话说,我需要将byte [](原始序列化对象)转换为JSON字符串,而无需重新实现ObjectInputStream.

Mic*_*ian 5

这个看起来很有希望:https://github.com/unsynchronized/jdeserialize 我还没试过.

它是对象序列化流协议的完整实现,如Java对象序列化规范第6章中所述.它不实例化流中描述的任何类; 相反,它构建了类型,实例和值的中间表示.因此,它可以分析流而无需访问生成它们的类代码.