我正在尝试将对象图完全展平为 map 。
复杂对象也应该使用“命名空间”展平到顶层。因此,如果对象 A 包含一个 int i、一个字符串 pid 和另一个包含字符串 id 的对象 B,则生成的 Map 将类似于 {i=1, pid="test", B.id="test1"}。
我还希望能够从给定的 map 重建原始对象。
我四处搜索了执行此操作的库。但我不太明白我要找的东西。我看到了维护层次结构的东西,但没有看到完全扁平化结构的东西。
我确实在 Spring Integration 中看到了一些看起来像我想做的事情: http://static.springsource.org/spring-integration/api/org/springframework/integration/transformer/ObjectToMapTransformer.html#ObjectToMapTransformer%28%29
但我无法让它工作。
如有任何帮助,我们将不胜感激。
谢谢。
最佳答案
Apache BeanUtils 库有一个 describe() 方法,它的作用与我正在寻找的类似。
另一种可能的解决方案是通过 Jackson JSON 库,因为 JSON 对象本质上是键值对。
相关讨论:How to convert a Java object (bean) to key-value pairs (and vice versa)?
关于java - 将对象图展平为 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7179912/