java - 未知序列化对象到 XML
问题描述
我试图弄清楚是否有可能在没有可用类的情况下将 base 64 编码的序列化对象转换为 XML。我在下面编写了一个示例,其中我创建了一个汽车类,创建了一个汽车对象,将对象序列化并编码为字符串。我注释掉汽车类并尝试解码/反序列化,但显然这会从序列化工具中抛出“ClassNotFoundException”。任何帮助将不胜感激,我对外部库持开放态度。
如何将 base64 编码的序列化对象(下面的“s”)转换为对象的 XML?
public class Main {
public static void main(String[] args) throws IOException {
// Car car = new Car("black","honda","accord","I2");
// byte[] carByte = SerializationUtils.serialize(car);
// String s = Base64.getEncoder().encodeToString(carByte); // returns text below
// Created from commented code above
String s = "rO0ABXNyAAhNYWluJENhcjrcX+tC1QS+AgAETAAFY29sb3J0ABJMamF2YS9sYW5nL1N0cmluZztMAAZlbmdpbmVxAH4AAUwABG1ha2VxAH4AAUwABW1vZGVscQB+AAF4cHQABWJsYWNrdAACSTJ0AAVob25kYXQABmFjY29yZA==";
System.out.println(s);
System.out.println(Base64.getDecoder().decode(s));
//ideally below would print xml
System.out.println(SerializationUtils.deserialize(Base64.getDecoder().decode(s)).toString());
}
// public static class Car implements Serializable {
// String color;
// String make;
// String model;
// String engine;
//
// public Car(String color, String make, String model, String engine) {
// this.color = color;
// this.make = make;
// this.model = model;
// this.engine = engine;
// }
//
// public String getColor() {
// return color;
// }
//
// public void setColor(String color) {
// this.color = color;
// }
//
// public String getMake() {
// return make;
// }
//
// public void setMake(String make) {
// this.make = make;
// }
//
// public String getModel() {
// return model;
// }
//
// public void setModel(String model) {
// this.model = model;
// }
//
// public String getEngine() {
// return engine;
// }
//
// public void setEngine(String engine) {
// this.engine = engine;
// }
// }
}
解决方案
推荐阅读
- python - 从python中的JSON字符串中提取某个值
- sql - 将查询从 LINQ (EF) 转换为 SQL 时,不应用 Where 子句
- java - 如何禁用 JavaFX 中的最大化选项?
- scala - Spark Scala 中的动态映射语句
- java - FOP 2.3:fo:external-graphic 的问题
- angular - 未调用 canDeActivate 函数
- html - 为什么 YouTube Player API 显示“此视频不可用”。播放某些视频时?
- c++ - 可以在光线追踪器上查看我的汽车模型
- php - Laravel 5.4:VerifyCsrfToken.php 第 68 行中的 TokenMismatchException
- visual-studio-code - Visual Studio Code - 在搜索结果中包含上下文