java - 将对象图展平为 map

标签 java

我正在尝试将对象图完全展平为 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/

相关文章:

java - Unresolved 编译问题 : The type java. lang.String 无法解析。隐式构造函数 Object() 未定义

java - 忽略 Java ssl 连接中的 "wrong name on certificate"类型错误

java - 将值与数组列表内的值进行比较

java - java中If语句的另一种写法

java - 将 Weka 导入 Eclipse

java - 随机彩票号码有帮助吗?

java - 是否可以在不重建的情况下更改 Android APK 文件中的资源?

java - POI 失败 java.lang.LinkageError : loader constraint violation in interface itable initialization

java - Android 应用程序不显示来自网络服务器的数据

java - 如何使用Java+Struts2在浏览器中打开Excel工作表?