Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有从Java类创建POJO的方法?_Java - Fatal编程技术网

有没有从Java类创建POJO的方法?

有没有从Java类创建POJO的方法?,java,Java,我有很多Java类。我需要创建简单的POJO,其中只包含来自Java类的字段。有一种方法可以从JSON创建POJO,但我需要直接从Java类创建POJO Java类可能有逻辑方法,并基于不同的东西构造。我的目标是将状态保存在POJO中,通过网络发送,并在同一组POJO中反序列化。使用一些JSON库 例如 您可以选择要序列化或不使用transient标识符的字段 除此之外,这些库还提供了更多且明确的所有您指定的需求。您可以很好地序列化Java类,无需将它们拆分到字段中(这听起来像是您想要的) 序列

我有很多Java类。我需要创建简单的POJO,其中只包含来自Java类的字段。有一种方法可以从JSON创建POJO,但我需要直接从Java类创建POJO


Java类可能有逻辑方法,并基于不同的东西构造。我的目标是将状态保存在POJO中,通过网络发送,并在同一组POJO中反序列化。

使用一些JSON库

例如

您可以选择要序列化或不使用
transient
标识符的字段


除此之外,这些库还提供了更多且明确的所有您指定的需求。

您可以很好地序列化Java类,无需将它们拆分到字段中(这听起来像是您想要的)

序列化代码:

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
方法就不会妨碍你


需要注意的是,所有字段也必须是可序列化的(或原语)。

如果您正在寻找一种方法以编程方式解析所有这些类并为它们生成POJO,那么您可以使用像Antlr、JavaCC或JavaParser这样的库来分析源代码,然后生成并保存新的POJO。

您认为POJO是什么?它的意思是“普通的旧Java对象”。是的,这是一个令人困惑的问题。POJO是一个Java对象。您需要的是像其他人提到的那样的JSON库。您正在使用某个web框架吗?您可以复制数据,但不能复制“逻辑方法”,数据和逻辑不应在一个POJO类中混合,尤其是在它将被序列化时。这应该是一个注释。@luk2302我不同意:它提供(或试图提供)解决方案,而不是要求澄清。可以对其进行扩展和改进,以解释OP为什么应该使用此选项,当然。添加了一些详细信息以更好地帮助OP。@AndyTurner再次说明,OP已经声明他知道JSON。@daniu那么答案就没有用了。但它仍然不是注释。我不想通过放置值然后序列化来创建实例。
try (ObjectInputStream in = new ObjectInputStream(getNetworkInStream())) {
    MyClass received = (MyClass) in.readObject();
}