我有一堆Java类。我需要创建只包含Java类字段的简单POJO。有一种方法可以从JSON创建POJO,但我需要直接从Java类开始。
Java类可能具有逻辑方法,并基于不同的东西构建。我的目标只是在POJO中保存状态并通过网络发送它并在同一组POJO中反序列化。
答案 0 :(得分:0)
答案 1 :(得分:0)
你可以很好地序列化Java类,不需要将它们删除到它们的字段(这听起来像你想要的那样)。
class MyClass implements Serializable {
private int myInt;
private String myString;
public MyClass(int mi, String ms) {
myInt = mi; myString = ms;
}
public String doStuff() { return String.format("%s %d", myString, myInt); }
}
序列化代码:
MyClass toSerialize = new MyClass(5, "Test");
try (ObjectOutputStream out = new ObjectOutputStream(getNetworkOutstream())) {
out.writeObject(toSerialize);
}
反序列化代码:
try (ObjectInputStream in = new ObjectInputStream(getNetworkInStream())) {
MyClass received = (MyClass) in.readObject();
}
doStuff
方法不会妨碍你的想法。
需要注意的是,所有字段都必须是Serializable
(或原语)。
答案 2 :(得分:0)
如果您正在寻找一种以编程方式解析所有这些类并为它们生成POJO的方法,那么您可以使用Antlr,JavaCC或JavaParser等库来分析源,然后生成并保存新的POJO。