將對象轉換為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; }