Java中将对象转换为Map的方法

摘要:
将对象转换为贴图的方法。代码如下:/***将对象转换为TreeMap。属性名称为key,属性值为value*@paramobject Object*@return*@throwsIllegalAccessException*/privatestaticTreeMap<String,Object>objToMap(Objectobject)throwsillegalAccessExciption{Classcl

将对象转换为Map的方法,代码如下:

    /**
     * 将对象转成TreeMap,属性名为key,属性值为value
     * @paramobject    对象
     * @return
     * @throwsIllegalAccessException
     */
    private static TreeMap<String, Object> objToMap(Object object) throwsIllegalAccessException {
        Class clazz =object.getClass();
        TreeMap<String, Object> treeMap = new TreeMap<String, Object>();
        while ( null !=clazz.getSuperclass() ) {
            Field[] declaredFields1 =clazz.getDeclaredFields();
            for(Field field : declaredFields1) {
                String name =field.getName();
                //获取原来的访问控制权限
                boolean accessFlag =field.isAccessible();
                //修改访问控制权限
                field.setAccessible(true);
                Object value =field.get(object);
                //恢复访问控制权限
field.setAccessible(accessFlag);
                if (null != value &&StringUtils.isNotBlank(value.toString())) {
                    //如果是List,将List转换为json字符串
                    if (value instanceofList) {
                        value =JSON.toJSONString(value);
                    }
                    treeMap.put(name, value);
                }
            }
            clazz =clazz.getSuperclass();
        }
        returntreeMap;
    }

免责声明:文章转载自《Java中将对象转换为Map的方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Fiddler 502问题ARM debian的图形界面安装下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android驱动学习-APP操作新硬件的两种方法(支持添加的驱动)

在给Android添加新的驱动后,app要如何使用呢? 正常的使用一个设备,需要getService。但是像LED等我们自己添加的硬件驱动,Android源代码根本没有我们自己添加的服务。 第一种: 我们自己的创建的硬件设备驱动的类是被系统定义为了隐藏类,那么在Android系统中如何使用隐藏类呢?为此我们可以根据android的编译过程可以看到我们添加的...

实践Kong for Kubernetes(K8S),kong最新2.1版本和kong-ingress-controller:0.9.1版本

先决条件 Kubernetes集群:您可以使用Minikube或GKE集群。Kong与Kubernetes的所有发行版兼容。 kubectl访问权限:您应该已经kubectl安装并配置为与Kubernetes集群通信。 为Kubernetes安装Kong 使用以下安装方法之一安装Kong for Kubernetes: YAML清单 helm K...

Java 访问 C++ 方法:JavaCPP

JavaCPP提供了在Java中高效访问本地C++的方法。采用JNI技术实现,支持所有Java实现包括Android系统,Avian 和 RoboVM。 JavaCPP提供了一系列的Annotation将java代码映射到C++代码,并使用一个可执行的jar包将C++代码转化为可以从JVM内调用的动态链接库文件。 Maven: <dependency...

Kafka平滑滚动升级2.4.0指南

今天测试了下kafka从2.0.0滚动升级至2.4.0,下面做一下记录。这个链接是Kafka官网对升级2.4.0的指南,可以参考  http://kafka.apache.org/24/documentation.html#upgrade好了,步入正题吧!首先,线上环境,在对kafka滚动升级的过程中,一定是不能影响业务运行的吧,否则一顿操作猛如虎,业务骂...

CSerialPort类的源码(程序文件和头文件)

#ifndef __SERIALPORT_H__#define __SERIALPORT_H__ #define WM_COMM_BREAK_DETECTED  WM_USER+1 // A break was detected on input.#define WM_COMM_CTS_DETECTED  WM_USER+2 // The CTS (cle...

DATASNAP REST WEBSERVICES中间件如何跨平台使用

准备使用DELPHI开发移动设备开发的朋友对DATASNAP REST中间件不可不了解。 DATASNAP REST新型WEBSERVICES中间件使用的通信协议和数据封装格式: 使用HTTP通信协议,HTTP协议哪个平台都支持;使用JSON作为数据的封装格式,几乎所有的开发语言都可以解析JSON数据。 REST的目的就是通过简单的URL来完成对中间层远程...