精华内容
下载资源
问答
  • 2016-05-27 10:58:04
    import java.beans.BeanInfo;
    import java.beans.Introspector;
    import java.beans.PropertyDescriptor;
    import java.lang.reflect.Method;
    import java.util.HashMap;
    import java.util.Map;
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    /**
    
     *
     */
    public class MapUtils {
        private static Logger   logger  = LoggerFactory.getLogger(MapUtils.class);
    
        /**
         * @param obj
         * @return
         * @throws Exception
         */
        public static Map<String, Object> introspect(Object obj) {
            Map<String, Object> result = new HashMap<String, Object>();
            try {
                BeanInfo info = Introspector.getBeanInfo(obj.getClass());
                for (PropertyDescriptor pd : info.getPropertyDescriptors()) {
                    Method reader = pd.getReadMethod();
                    Object Object=reader.invoke(obj);
                    String name=pd.getName();
                    if (reader != null)
                        if(Object!=null && !name.equals("class")){
                            result.put(name, Object);
                        }
                }
            } catch (Exception e) {
                logger.warn("Object转Map出错: obj={}", obj);
                logger.warn("Object转Map出错", e);
            }
    
            return result;
        }
    }
    更多相关内容
  • 本篇文章主要介绍了java实现ObjectMap之间的转换3种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • Java代码Object对象转Map
  • 主要介绍了 java Map转ObjectObject转Map实现代码的相关资料,需要的朋友可以参考下
  • JavaObject转Map类型,Map转Object类型

    万次阅读 2020-07-31 09:40:11
    在使用Java编程过程中,经常会遇到获取的数据为Object类型,但只是以这种方式传输,实质还是Map类型,此时就涉及到两种类型的相互转换。 强制转换 在类型转换工程中,常见的转换方式为强制转换。如(String)map.get...

    前言

    在使用Java编程过程中,经常会遇到获取的数据为Object类型,但只是以这种方式传输,实质还是Map类型,此时就涉及到两种类型的相互转换。

    强制转换

    在类型转换工程中,常见的转换方式为强制转换。如(String)map.get(key),(int)map.get(key)等。但是如果接收的类型为Map,此时强转(Map<String, Object>) obj则会报出警告。

    治标不治本

    很多人会使用@SuppressWarnings(“unchecked”)来解决编辑器中的警告,好看是好看了。但是这用来告诉编译器忽略警告,而警告却实实在在的存在。项目的风险还是存在。

    方法一

    可以使用java.lang.reflect.Field类完成ObjMap之间的相互转换.

    • ObjectMap类型
    //Object转Map
    public static Map<String, Object> getObjectToMap(Object obj) throws IllegalAccessException {
        Map<String, Object> map = new HashMap<String, Object>();
        Class<?> cla = obj.getClass();
        Field[] fields = cla.getDeclaredFields();
        for (Field field : fields) {
            field.setAccessible(true);
            String keyName = field.getName();
            Object value = field.get(obj);
            if (value == null)
                value = "";
            map.put(keyName, value);
        }
        return map;
    }
    
    • MapObject类型
    //Map转Object
    public static Object getMapToObject(Map<Object, Object> map, Class<?> cla) throws Exception {
        if (map == null)
            return null;
        Object obj = cla.newInstance();
        Class<?> cla = obj.getClass();
        Field[] fields = cla.getDeclaredFields();
        for (Field field : fields) {
            int mod = field.getModifiers();
            if (Modifier.isStatic(mod) || Modifier.isFinal(mod)) {
                continue;
            }
            field.setAccessible(true);
            if (map.containsKey(field.getName())) {
                field.set(obj, map.get(field.getName()));
            }
        }
        return obj;
    }
    

    通过Field类进行数据类型的转换。

    方法二

    通过BeanUtils工具类进行转换

    //1、map转换为object
    
    public static Object mapToObject(Map<String, Object> map, Class<?> cla)
        throws Exception {
    	if (map == null) 
    		return null;
      Object obj = clas.newInstance();
    	org.apache.commons.beanutils.BeanUtils.populate(obj, map);
    	return obj;
    }
    
    //2、object转换为map
    public static Map<?, ?> objectToMap(Object obj) {
    	if (obj == null) 
    		return null;
    	return new org.apache.commons.beanutils.BeanMap(obj);
    }
    

    总结

    最后,通过调用这两个方法就可以实现Object转Map类型,Map转Object类型。

    展开全文
  • Java代码Map转Object对象
  • Map 转为Object Object 转为 Map java jdk1.4以上 应用java 反射机制实现 有工程,直接运行
  • java 对象Object转Map / Json

    千次阅读 2019-10-18 10:39:51
    在项目中我们传值时,常常需要把对象集合成Json集合进行传递。可用如下代码来进行转换: @Test public void test() throws Exception { List<JSONObject> dataJson = getDataJson(); System.out....

    在项目中我们传值时,常常需要把对象集合转成Json集合进行传递。可用如下代码来进行转换:

    @Test
    	public void test() throws Exception {
    		List<JSONObject> dataJson = getDataJson();
    		System.out.println(dataJson);
    	}
    	
    	public List<JSONObject> getDataJson() throws Exception {
    		List<JSONObject> li=new ArrayList<JSONObject>();
    		List<DB2> db2 = getDataFromDB2("3"); // 这个是自己的数据源,就是一个对象集合
    		for(DB2 d:db2) {
    			Map<String, Object> map = objectToMap(d);
    			li.add(new JSONObject(map));
    		}
    		return li;
    	}
    	
    	 public Map<String, Object> objectToMap(Object obj) throws IllegalAccessException {
            Map<String, Object> map = new HashMap<String,Object>();
            Class<?> clazz = obj.getClass();
            for (Field field : clazz.getDeclaredFields()) {
                field.setAccessible(true);
                String fieldName = field.getName();
                Object value = field.get(obj);
                map.put(fieldName, value);
            }
            return map;
        }
    

    结果如下:
    在这里插入图片描述

    展开全文
  • Object转Map和Map转Object(对象转map,map转对象)

    万次阅读 多人点赞 2019-05-09 10:06:20
    第一种方法:fastJosn import com.alibaba.fastjson.JSON; import ... Object转Map FindArchiveDto findArchiveDto = new FindArchiveDto(); findArchiveDto.setContractStatus("降龙"); ...
    FindArchiveDto findArchiveDto = new FindArchiveDto();
    findArchiveDto.setContractStatus("降龙");
    findArchiveDto.setCustName("明华");
    findArchiveDto.setDepartmentName("赵无极");
    fastjson转换方法
    
    //Object转Map
    Map map = JSONObject.parseObject(JSONObject.toJSONString(findArchiveDto), Map.class);
    Map<String,Object> map = JSONObject.parseObject(JSON.toJSONString(findArchiveDto));
    //Map转Object
    FindArchiveDto findArchiveDto1 = JSON.parseObject(JSON.toJSONString(map), FindArchiveDto.class);
    FindArchiveDto findArchiveDto2 = JSONObject.toJavaObject(JSON.toJSONString(map), FindArchiveDto.class);
    jackson的转换
    ObjectMapper mapper = new ObjectMapper();
    //对象转map
    Map m = mapper.readValue(mapper.writeValueAsString(findArchiveDto), Map.class);
    //map转对象
    FindArchiveDto dto = mapper.readValue(mapper.writeValueAsString(m), FindArchiveDto.class);
    还可以用org.apache.commons.beanutils.BeanMap进行转换
    Map<String, Object> map = new org.apache.commons.beanutils.BeanMap(findArchiveDto);
    还可以用org.apache.commons.beanutils.BeanUtils将map转为对象
    BeanUtils.populate(findArchiveDto, map);
    
    //Object转Map
    public static Map<String, Object> getObjectToMap(Object obj) throws IllegalAccessException {
        Map<String, Object> map = new LinkedHashMap<String, Object>();
        Class<?> clazz = obj.getClass();
        System.out.println(clazz);
        for (Field field : clazz.getDeclaredFields()) {
            field.setAccessible(true);
            String fieldName = field.getName();
            Object value = field.get(obj);
            if (value == null){
                value = "";
            }
            map.put(fieldName, value);
        }
        return map;
    }
    //Map转Object
    public static Object mapToObject(Map<Object, Object> map, Class<?> beanClass) throws Exception {
        if (map == null)
            return null;
        Object obj = beanClass.newInstance();
        Field[] fields = obj.getClass().getDeclaredFields();
        for (Field field : fields) {
            int mod = field.getModifiers();
            if (Modifier.isStatic(mod) || Modifier.isFinal(mod)) {
                continue;
            }
            field.setAccessible(true);
            if (map.containsKey(field.getName())) {
                field.set(obj, map.get(field.getName()));
            }
        }
        return obj;
    }
    展开全文
  • java object转Map的三种方法

    万次阅读 2017-06-14 16:56:09
    原文:http://www.open-open.com/code/view/1423280939826 /** * 使用org.apache.commons.beanutils进行转换 */ class A { public static Object mapToObject(Map map, Class beanClass) throws Except
  • 最近,研究map与java对象之间的相互转换,总结了5种方法:第一种:使用org.apache.commons.beanutils转换用到的主要jar包:commons-beanutils-1.9.3.jar//map转java对象public static Object mapToObject(Map map, ...
  • java Object类型转Map

    千次阅读 2018-07-25 11:38:28
    仅供参考 ... /*简单Object转map*/  public static Map&lt;String,String&gt; toMap(Object o){  Map&lt;String,String&gt; map=new HashMap&lt;String, String&gt;();  ...
  • Object 转Map,Map转Object方式总结

    千次阅读 2022-03-16 11:35:16
    } 通过反射实现Map转Bean //Map转Object public static Object mapToObject(Map map, Class beanClass) throws Exception { if (map == null) return null; Object obj = beanClass.newInstance(); Field[] fields ...
  • Java ObjectMap对象相互转换

    千次阅读 2017-10-14 11:24:41
    /** * 使用org.apache.commons.beanutils进行转换 ...class A { public static Object mapToObject(Map<String, Object> map, Class<?> beanClass) throws Exception { if (map == null)
  • Java 对象转化为Map

    万次阅读 2022-04-03 18:47:30
    方式一: 利用FastJson 把对象转化为Map /** * * @MethodName: getUserInfoDataByUserId * @Description: 根据useId查询用户信息,封装成map key:属性名,value:属性值 * home.php?mod=space&uid=952169 ...
  • java常用的对象转map的几种方式

    千次阅读 2021-01-17 15:04:44
    创建对象User ...import java.util.Date; public class User { /** * * ID */ private Integer id; /** * * 用户名 */ private String userName; /** * * 岗位ID */ private Long jobId;
  • Object转map对象

    千次阅读 2021-04-07 16:54:26
    1、Object转换成map的方法 import java.lang.reflect.Field; import java.util.HashMap; import java.util.Map; /** * 将Object对象里面的属性和值转化成Map对象 * * @param obj * @return * @throws ...
  • Java中对象(Object)转换成Map

    千次阅读 2021-02-12 20:50:25
    以前没用过此类方法1....Map map1= new HashMap();map1 = BeanUtils.describe(要转换的对象);2.此处自其它博客,可以参考里面DynaProperty的用法package org.apache.commons.beanutils;import ...
  • java Map转Object Object转Map

    千次阅读 2017-01-05 16:10:01
    2、Map转Object转换如下: package reflect; import java.beans.BeanInfo; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.Method; import java.util.HashMap; ...
  • java-将MapObject>转换为Map ,String>

    千次阅读 2021-03-06 01:46:47
    //Object is containing StringMap newMap =new HashMap(map);11个解决方案37 votes现在我们有了Java 8 / streams,我们可以在列表中添加一个可能的答案:假设每个值实际上都是String对象,则强制转换为...
  • importjava.lang.reflect.Field;importjava.util.HashMap;...public classEntityUtils {/*** 实体类转Map*@paramobject*@return*/public static MapentityToMap(Object object) {Map map = newHashMap(...
  • Java jsonObject map 对象

    万次阅读 2020-10-12 14:41:36
    1.jsonObject map 相关jar包: import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import com.alibaba.fastjson.JSON; import ...
  • java 实体转map

    千次阅读 2022-03-21 00:04:46
    实体,map
  • 文章目录【Java对象转换】002- Java 对象与 Map一、Java 对象与 Map 概述1、Java 对象2、Map二、Java 对象与 Map1、使用 commons.beanutils 转换第一步:在 pom.xml 下引入依赖第二步:写个工具类第三步:...
  • 首先你需要保证要转换的Object的实际类型是Map假设Object变量名为obj,强制转换(Map)obj转换前...追答方法上面加注解@SuppressWarnings("unchecked")能这么的前提是 你的object对象真的是一个 Map 要不也是不过...
  • string java对象、转map的方式

    千次阅读 2021-03-06 01:15:45
    1、使用fastJson 将String map:String out;... //先转换成ObjectMap map = (Map)succesResponse; //Object强转换为Map2、String java 对象fastjson 应用 string字符串转换成java对象或者对象数...
  • java MapObject

    千次阅读 2017-07-07 15:43:50
    /*** * map转换成对象 */ public static Object mapToObject(Map, Object> map, Class<?> beanClass) throws Exception { if (map == null) return null; Ob
  • 工作中经常遇到这样的场景,需要在objectmap直接相互转换,这里总结一下。 我先定义一个实体类,后面介绍的几种转换方法都以这个实体类为例进行说明。 public class PersonBean { private String name; //姓名 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 677,052
精华内容 270,820
关键字:

java object转map

java 订阅