用最少的代码编写将Java对象序列化为映射(并解析回)的最快方法是什么?

用最少的代码编写将Java对象序列化为映射(并解析回)的最快方法是什么?,java,serialization,xml-serialization,Java,Serialization,Xml Serialization,我有一个系统,XML-RPC客户端将读取实体(从数据库,通过ORM表示为Java对象),我现有的方法是通过StructSerializer对它们进行序列化,在其代码中,我们从Java对象读取属性,包括调用另一个StructSerializer对属性进行序列化/解析,例如 Surrogate parse(Map<String, Object> in) { String name = in.get(Surrogate.NAME, String.class); ... } Map

我有一个系统,XML-RPC客户端将读取实体(从数据库,通过ORM表示为Java对象),我现有的方法是通过
StructSerializer
对它们进行序列化,在其代码中,我们从Java对象读取属性,包括调用另一个
StructSerializer
对属性进行序列化/解析,例如

Surrogate parse(Map<String, Object> in) {
  String name = in.get(Surrogate.NAME, String.class);
  ...
}

Map<String, Object> serialize(Surrogate in) {
  out.put(Surrogate.ID, in.getId());
  out.put(Surrogate.USER, userSerializer.serialize(in.getUser()))
}
代理项解析(映射到){
String name=in.get(Surrogate.name,String.class);
...
}
映射序列化(中的代理){
out.put(subrogate.ID,in.getId());
out.put(代理.USER,userSerializer.serialize(in.getUser()))
}
我现在正在寻找的是消除/自动化/最小化编写此类代码。此外,XML RPC兼容并不是真正的问题

非常感谢

编辑:


为了进一步说明,XML转换是由ApacheXML-RPC处理的,我只需要将其转储到一个映射中即可。我现在需要的是一种统一的/被广泛接受的将Java对象转换为Map的方法。

我喜欢XStream做这种工作-


您所要做的就是注释类并将它们提供给XStream序列化程序/反序列化程序。您可能希望注释特定字段以优化输出,但通常不必这样做。

我喜欢XStream做这种工作-


您所要做的就是注释类并将它们提供给XStream序列化程序/反序列化程序。您可能希望注释特定字段以优化输出,但通常不必这样做。

如果您不需要兼容,有许多选项:。它们都只需要很少的代码来编写,除非您需要一些新奇的东西。XMLEncoder包含在JRE中,其他都是附加库。

如果您不需要兼容,有许多选项:。它们都只需要很少的代码来编写,除非您需要一些新奇的东西。XMLEncoder包含在JRE中,其他都是附加库。

我改进了搜索,发现:


这表明小海狸是一个很好的解决方案。

我改进了搜索,发现:


这表明BeanUtils是一个很好的解决方案。

XStream可以将它们转换为Map而不是XML吗?XStream可以将它们转换为Map而不是XML吗?XStream/Castor/etc可以将它们转换为Map而不是XML吗?不,我认为它们不能,对不起。我不明白你需要原始问题中的地图我认为那些URL已经过时了XStream/Castor/etc可以将它们转换为地图而不是XML吗?不,我认为它们不能,对不起。我不明白你需要原始问题中的地图我认为那些URL已经过时了这里是否合法。张贴问题并自己回答。这也不是一个真正的答案,只是一个重定向。@Barun什么是真正的答案?@Barun是的,OP可以回答他们自己的问题,请访问此链接,这里是否合法。张贴问题并自己回答。这也不是一个真正的答案,只是一个重定向。@Barun什么是真正的答案?@Barun是的,OP可以回答他们自己的问题,请访问此链接