1. 程式人生 > 其它 >Java Obj轉成Map

Java Obj轉成Map

【ObjToMap And MapToObj】利用BeanUtils工具類實現!

import commons.beanutils.BeanUtils;

//map2obj
public static Object mapToObject(Map<String, Object> map, Class<?> beanClass)
      throws Exception {
    if (map == null)
      return null;
    Object obj = beanClass.newInstance();
    BeanUtils.populate(obj, map);
    return obj;
  }

//obj2map
public static Map<?, ?> objectToMap(Object obj) {
   if (obj == null) {
     return null;
   }
   BeanUtils.BeanMap(obj);
 }

【ObjToMap And MapToObj】利用Java reflect反射機制實現!


public Map<String,Object> ObjToMap(Object obj) throws Exception{
     Map<String,Object> map=new HashMap<String, Object>();
     Field[] fields = obj.getClass().getDeclaredFields();
     for(Field field:fields){
       field.setAccessible(true);
       map.put(field.getName(), field.get(obj));
     }
     return map;
}

public Object mapToObj(Map<String,Object> map,Class<?> clz) throws Exception{
     Object obj = clz.newInstance();
     Field[] declaredFields = obj.getClass().getDeclaredFields();
     for(Field field:declaredFields){
       int mod = field.getModifiers(); 
       if(Modifier.isStatic(mod) || Modifier.isFinal(mod)){
         continue;
       }
       field.setAccessible(true);
       field.set(obj, map.get(field.getName()));
     }
     return obj;
}