Java 对象转 map 有什么好用的工具吗?

2019-07-23 17:53:45 +08:00
 rizon

使用各种 json 工具先转字符串 json 再转 map 也可以,但是还得处理日期啊什么的这些特殊字符,而且这种方式也很难受啊。

有什么好用的工具吗?

13591 次点击
所在节点    程序员
31 条回复
niaobulashi
2019-07-24 09:37:51 +08:00
```
/**
* java bean 转 Map
* @param bean
* @param propNames 需要放到 map 中的属性名称
* @return
*/
public static Map<String,Object> beanToMap(Object bean, String...propNames) {
Map<String,Object> rtn = new HashMap<String,Object>();
if(ArrayUtils.isEmpty(propNames)){
List<String> fieldNames = getFieldNames(bean.getClass());
for (String fieldName: fieldNames) {
Object value = getProperty(bean, fieldName);
rtn.put(fieldName, value);
}
}else{
for(String propName: propNames){
Object value = getProperty(bean, propName);
rtn.put(propName, value);
}
}
return rtn;
}
```
niaobulashi
2019-07-24 09:39:21 +08:00
emmmm,评论不能用 md 格式了🐎
brust
2019-07-24 09:44:36 +08:00
Gson,FastJSON
zhybb2010
2019-07-24 10:23:58 +08:00
不要管性能,速度,拿起 fastjson 就是一套 comb。
wo0uewjuoi
2019-07-24 10:32:47 +08:00
@fff333 前几个礼拜刚刚按要求升级 fast 版本防漏洞。。。
netsail
2019-07-24 13:15:46 +08:00
@rizon 可以用 6 楼的方法
quadrapop
2019-07-24 13:52:43 +08:00
6 楼写法挺大佬的
xuanbg
2019-07-24 13:56:43 +08:00
用 json 序列化对象再反序列化成 Map 呀,还要什么自行车。。。话说我们对象复制、对象转换也是这样搞,爽歪歪
twoyuan
2019-07-24 14:24:43 +08:00
Kotlin 的话就定义个扩展函数的事:

fun Any.objToMap() = this::class.declaredMemberProperties.map { it.name to it.call(this) }.toMap()
LeeSeoung
2019-07-24 14:30:03 +08:00
使用 beanutils.describe
guoluwei
2019-07-24 22:41:00 +08:00
BeanMap

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/585522

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX