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. ubuntu16.04配置记录

    新开一篇随笔记录ubuntu16.04配置中遇到的坑 1.安装Bumblebee(大黄蜂) Bumblebee是一款双显卡驱动,可以关闭独显,有效控制笔记本发热 第一步:安装我们的主角Bumblebe ...

  2. Docker入门-介绍和安装

    Docker容器 Docker是什么 Docker最初是dotCloud公司创建人Solomon Hykes在法国期间发起的一个公司内部项目,它是基于dotCloud公司多年云服务技术的一次革新,并于 ...

  3. The control collection cannot be modified during DataBind, Init, Load, PreRender or Unload phases.

    https://stackoverflow.com/questions/5508666/dynamically-add-html-to-asp-net-page https://stackoverfl ...

  4. spark 笔记 16: BlockManager

    先看一下原理性的文章:http://jerryshao.me/architecture/2013/10/08/spark-storage-module-analysis/ ,http://jerrys ...

  5. Linux高级调试与优化——ptrace

    ptrace (process trace) #include <sys/ptrace.h> long ptrace(enum __ptrace_request request, pid_ ...

  6. [C#菜鸟]C# Hook (三) Windows常用消息大全

    表A-1  Windows消息分布 消息范围 说 明 0 - WM_USER – 1 系统消息 WM_USER - 0x7FFF 自定义窗口类整数消息 WM_APP - 0xBFFF 应用程序自定义消 ...

  7. MySQL查看数据表的创建时间和最后修改时间

    如何MySQL中一个数据表的创建时间和最后修改时间呢? 可以通过查询information_schema.TABLES 表得到信息. 例如 mysql> SELECT * FROM `infor ...

  8. PythonScript_demo--搭建PXE服务器

    前言 是一个测试向的Demo,在实验环境中改改还是可以用的,有助理解PXE服务器的原理.可以结合PXE服务器原理细节来看,传送门:点这里 软件环境 系统 RHEL7 软件 Python 27 RHEL ...

  9. Selenium 2自动化测试实战7(定位元素)

    一.xpath定位 1. 绝对定位 举例用百度输入框和搜索按钮 eg:find_element_by_xpath("/html/body/div/div[2]/div/div/div/fro ...

  10. docker rm & docker rmi & docker prune 的差异

    docker rm & docker rmi & docker prune 的差异 docker rm : 删除一个或多个 容器 docker rmi :  删除一个或多个 镜像 do ...