如何使用JAXB序列化和反序列化对象?
我有一个问题。我想使用JAXB将对象转换为另一个对象。就像在,我有一个类
com.home.Student
,另一个类com.school.Student
,都有相同的参数,实际上两者都是相同的(复制粘贴),但不同的包。我想用JAXB
在它们之间进行转换。
怎么做,请帮帮我。
没有找到相关结果
已邀请:
3 个回复
版萍层分
com.home.Status
com.school.Student
com.school.Status
com.example.Demo;
肺鬼耙扮群
然后你可以使用JAXB Marshaller序列化它:
并通过Unmarshelling输入来反序列化它。
请务必查看我上面提到的JavaDoc,因为有很多方法可以做到这一点。 如果你不能修改你的类,你仍然可以使用JAXB(或者你可以使用XStream)假设你的类如下:
您可以执行以下操作来序列化它:
如果您正在使用XStream,则可以在没有注释的情况下进行序列化(并且它更易于控制)。 http://x-stream.github.io/tutorial.html
屉杆绊
注意:我没有编译这个,这就是为什么我说“模糊”。如果字段是私有的,则需要使用Field.isAccessible()/ Field.setAccessible(true),以便在分配值时临时更改可访问性。或者,您编写稍微复杂的代码,使用公共setter / getter而不是直接使用字段访问。