Gur*_*lra 6 java xml serialization xstream deserialization
我有一个二进制文件,其中包含Java Serialized对象(它们是值对象),但我无法访问序列化创建这些对象的Class.没有类文件,JVM不允许我使用objectInputStreamInstance.readObject()读取对象,并正确地抛出java.lang.ClassNotFoundException.
是否有可以帮助以XML或其他标准格式提取数据的库?例如,如果下面的Person类被序列化并存储在一个文件中,我想从中提取数据:
类定义
class Person implements Serializable {
int age;
String name;
public Person(int age, int name) {
this.age = age;
this.name = name;
}
}
Run Code Online (Sandbox Code Playgroud)
必需的提取格式(无需访问类文件)
<Person>
<age>10</age>
<name>Name</name>
</Person>
Run Code Online (Sandbox Code Playgroud)
我还检查了以下但没有得到我想要的东西:
谢谢您的帮助.
此致,Gursev
检查jdeserialize.它有一个命令行模式,但也有一个相当好的文档API.关于自动重新序列化为XML?我不这么认为.这样做的方式太多了.您可能需要通过两个单独的步骤来完成此操作.jdeserialize可以帮助逆向工程类(生成源代码java代码),特别是当许多XML序列化工具需要它时.
现在,如果原始类没有使用默认的序列化机制(通过覆盖readObject或类似)或者使用数据混淆/加密技术(比如将对象包装在javax.crypto.SealedObject/和/中java.security.SignedObject),那么成功的机会就越来越少.
| 归档时间: |
|
| 查看次数: |
1972 次 |
| 最近记录: |