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

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

    /**
     * 将对象转成TreeMap,属性名为key,属性值为value
     * @param object    对象
     * @return
     * @throws IllegalAccessException
     */
    private static TreeMap<String, Object> objToMapObject object) throws IllegalAccessException {

        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.setAccessibletrue);
                Object value = field.getobject);
                // 恢复访问控制权限
                field.setAccessibleaccessFlag);

                if null != value && StringUtils.isNotBlankvalue.toString))) {
                    //如果是List,将List转换为json字符串
                    if value instanceof List) {
                        value = JSON.toJSONStringvalue);
                    }
                    treeMap.putname, value);
                }
            }

            clazz = clazz.getSuperclass);
        }
        return treeMap;
    }

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注