我需要打印序列化 Java 对象的内容(例如,从缓存中检索到的 java.io.Serializable POJO),而无需先验地知道其类。
更具体地说,我不需要使用经典的 ObjectInputStream 实例化新对象,我只需要获取对象的简单人类可读表示(最好是 JSON),而无需在类路径中加载其类。
换句话说,我需要将 byte[](原始序列化对象)转换为 JSON 字符串,而无需重新实现 ObjectInputStream。
我需要打印序列化 Java 对象的内容(例如,从缓存中检索到的 java.io.Serializable POJO),而无需先验地知道其类。
更具体地说,我不需要使用经典的 ObjectInputStream 实例化新对象,我只需要获取对象的简单人类可读表示(最好是 JSON),而无需在类路径中加载其类。
换句话说,我需要将 byte[](原始序列化对象)转换为 JSON 字符串,而无需重新实现 ObjectInputStream。
这个似乎很有希望:https ://github.com/unsynchronized/jdeserialize 我还没有尝试过。
它是对象序列化流协议的完整实现,如 Java 对象序列化规范第 6 章所述。它不实例化流中描述的任何类;相反,它构建了类型、实例和值的中间表示。因此,它可以在不访问生成它们的类代码的情况下分析流。