Java中將對象轉換為Map的方法


將對象轉換為Map的方法,代碼如下:

    /**
     * 將對象轉成TreeMap,屬性名為key,屬性值為value
     * @param object    對象
     * @return
     * @throws IllegalAccessException
     */
    private static TreeMap<String, Object> objToMap(Object 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.setAccessible(true);
                Object value = field.get(object);
                // 恢復訪問控制權限
                field.setAccessible(accessFlag);

                if (null != value && StringUtils.isNotBlank(value.toString())) {
                    //如果是List,將List轉換為json字符串
                    if (value instanceof List) {
                        value = JSON.toJSONString(value);
                    }
                    treeMap.put(name, value);
                }
            }

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM