public static Map<String,String> beanToMap(Object bean) {
Map<String,String> params =Maps.newHashMap();
try {
PropertyUtilsBean propertyUtilsBean = new PropertyUtilsBean();
PropertyDescriptor[] descriptors = propertyUtilsBean.getPropertyDescriptors(bean);
for (int i = 0; i < descriptors.length; i++) {
String name = descriptors[i].getName();
if (!"class".equals(name)) {
Object value = propertyUtilsBean.getNestedProperty(bean, name);

if(value!=null && value.toString()!=null){
if(isJavaClass(value.getClass()) && !(value instanceof Collection<?>) ){
params.put(name,value.toString());
}else{

if(value==null||name.startsWith("global")){
continue;
}
String jsonObject=JsonMapper.getInstance().toJsonString(value);
if(null==jsonObject){
params.put(name,value.toString());
}else{
params.put(name,jsonObject.toString());
}
}
}

}
}
} catch (Exception e) {
e.printStackTrace();
}
return params;
}

PropertyUtilsBean 将bean转成map的更多相关文章

  1. 利用Java反射机制将Bean转成Map

    import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang ...

  2. 将bean转换成键值列表

    日常开发中在进行接口对接的数据传输时,有一种场景是将bean转成jsonString,这里可以将bean转换成Map再转成jsonString. 工具类如下: public static String ...

  3. Java对象转换成Map

    需求总是千奇百怪,对象转成map,看似没必要,但就是有这个需求,所以记录下来 首先是Bean package tools; import lombok.Data; /** * 车辆实体类 */ @Da ...

  4. Dom4j把xml转换成Map(固定格式)

    /** * 可解析list * * @param fileName * @return * @throws Exception */ @SuppressWarnings("unchecked ...

  5. Dom4j把xml转换成Map(非固定格式)

    将xml转换成Map,能够应对不用结构的xml,而不是只针对固定格式的xml.转换规则:1.主要是Map与List的互相嵌套2.同名称的节点会被装进List 示例: import java.util. ...

  6. 用sql取出来的list需要处理成map的两种情况

    1. 原生sql: select a.id,a.name from a SQLQuery sqlQuery=this.getSession().createSQLQuery(sb.toString() ...

  7. json字符串转成 Map/List

    package jsonToMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import n ...

  8. json格式转换成Map的应用

    jsp 1.引用json.js(将json格式转换成字符串) 2. var name = document.getElementById("name").value; var re ...

  9. Properties 转换成Map

    转自:http://feitianbenyue.iteye.com/blog/1759259 对于Properties 转换成Map 的问题: 第一时间想到的肯定有以下: 1.  迭代出来  再 pu ...

随机推荐

  1. python爬取智联招聘职位信息(多进程)

    测试了下,采用单进程爬取5000条数据大概需要22分钟,速度太慢了点.我们把脚本改进下,采用多进程. 首先获取所有要爬取的URL,在这里不建议使用集合,字典或列表的数据类型来保存这些URL,因为数据量 ...

  2. mysql bit 和 tinyint 的区别及使用场景?

    bit类型语法:bit[(M)] : 位字段类型.M表示每个值的位数,范围从1到64.如果M被忽略,默认为1. tinyint是数字类型,存储小数, 一般对应编辑语言里的小字典或枚举类型. 节省空间的 ...

  3. cgo

    package main import ( "unsafe" "fmt") /*#cgo CFLAGS: -I./#cgo LDFLAGS: -L./#incl ...

  4. 微信小程序底部菜单栏的使用方法

    1.找到项目根目录的配置文件 app.json,在配置文件中加入配置代码.例如: "tabBar": { <!--底部的导航配置属性--> "color&qu ...

  5. ORACLE ASM 日常管理

    ASM概述 Automatic Storage Management(ASM)是Oracle数据库10g中一个非常出色的新特性,它以平台无关的方式提供了文件系统.逻辑卷管理器以及软件RAID等服务.A ...

  6. django-登录页面添加验证码

    1,安装第三方库 pip install django-simple-captcha 2,注册应用 INSTALLED_APPS = [ 'django.contrib.admin', 'django ...

  7. pandas分组运算(groupby)

    1. groupby() import pandas as pd df = pd.DataFrame([[1, 1, 2], [1, 2, 3], [2, 3, 4]], columns=[" ...

  8. 四十三:数据库之SQLAlchemy之group_by和having子句

    group_by:根据某个字段进行分组,比如想要根据年龄进行分组,再统计每一组有多少人having:对查找结果进一步过滤,类似于SQL语句的where 准备工作 from sqlalchemy imp ...

  9. div 加滚动条 超过div宽度 自动换行 div居中

    一.div 中加滚动条 一. <div style=" overflow:scroll; width:400px; height:400px;”></div> 记住宽 ...

  10. 【ABAP系列】SAP ABAP 资产类BAPI过账 BAPI_ACC_DOCUMENT_POST

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 资产类BAPI ...