我正在尝试将对象图完全展平为地图。
复杂对象也应该使用“命名空间”展平到顶层。因此,如果对象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
但我无法让它发挥作用。
任何帮助都将不胜感激。
感谢。
答案 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?