将对象图展平为地图

时间:2011-08-24 17:45:34

标签: java

我正在尝试将对象图完全展平为地图。

复杂对象也应该使用“命名空间”展平到顶层。因此,如果对象A包含int i,字符串pid和包含字符串id的另一个对象B,则生成的Map看起来像{i = 1,pid =“test”,B.id =“test1”}。

我还希望能够从给定的地图重建原始对象。

我一直在寻找能够做到这一点的图书馆。但我并没有得到我正在寻找的东西。我看到维护层次结构的东西,但没有任何东西可以完全平整结构。

我确实在Spring Integration中看到了类似于我想要做的事情: http://static.springsource.org/spring-integration/api/org/springframework/integration/transformer/ObjectToMapTransformer.html#ObjectToMapTransformer%28%29

但我无法让它发挥作用。

任何帮助都将不胜感激。

感谢。

2 个答案:

答案 0 :(得分:1)

Apache BeanUtils库有一个describe()方法,可以执行与我想要的类似的操作。

另一种可能的解决方案是通过Jackson JSON库,因为JSON对象本质上是键值对。

相关讨论:How to convert a Java object (bean) to key-value pairs (and vice versa)?

答案 1 :(得分:0)

您是否考虑过使用Protobufs