精华内容
下载资源
问答
  • java获取object 转map
    2020-12-09 15:57:48

    java中object转map

    //Object转Map(下面是相当与用JSONObject.toJSONString(object)方法把object类型先转为json串,最后用JSONObject.parseObject方法把json串转为了map)

    Map map = JSONObject.parseObject(JSONObject.toJSONString(object), Map.class);
    
    更多相关内容
  • Java代码Object对象转Map
  • java Object类型转Map

    2022-04-19 09:25:35
    /*简单Object转map*/ public static Map<String,String> toMap(Object o){ Map<String,String> map=new HashMap<String, String>(); Field[] fields=o.getClass().getDeclaredFields(); try { ...

    仅供参考

    @Log4j
    public class ObjectToMap {
    /*简单Object转成map*/
    public static Map<String,String> toMap(Object o){
    Map<String,String> map=new HashMap<String, String>();
    Field[] fields=o.getClass().getDeclaredFields();
    try {
    for (int i=0;i<fields.length;i++) {
    String name=fields[i].getName();
    Field field=o.getClass().getDeclaredField(name);
    field.setAccessible(true);
    if (null!=field){
    map.put(name,field.get(o).toString());
    }
    }
    }catch(Exception e){
    log.error(e.getMessage(),e);
    }
    return map;
    }
    /*复杂Object转成map*/
    public static Map<String, Object> toObjectMap(Object object) {
    Map<String, Object> map = new HashMap<String, Object>();
    toMap(object.getClass(), object, map);
    return map;
    }
    private static void toMap(Class<> clazz, Object object, Map<String, Object> map) {
    Method[] methods = clazz.getDeclaredMethods();
    if (methods != null && methods.length > 0) {
    for (Method method : methods) {
    String mname = method.getName();
    if (mname.startsWith(“get”) && method.getParameterTypes().length == 0) {
    try {
    String fieldName = mname.substring(3, 4).toLowerCase() + mname.substring(4);
    if (“serialVersionUID”.equals(fieldName)) {
    continue;
    } else if (“class”.equals(fieldName)) {
    continue;
    }
    Object fieldValue = method.invoke(object, null);
    if (fieldValue != null) {
    map.put(fieldName, fieldValue);
    }
    } catch (IllegalAccessException e) {
    log.info(e.getMessage(),e);

    } catch (InvocationTargetException e) {
    log.info(e.getMessage(),e);
    } catch (SecurityException e) {
    log.error(e.getMessage(),e);
    }
    }
    }
    }
    if (clazz.getSuperclass() != null) {
    toMap(clazz.getSuperclass(), object, map);
    }
    }

    public static void main(String[] args)throws Exception {
    Tests tests=new Tests(10,“zhangsan”);
    ObjectToMap om= new ObjectToMap();
    Map<String,String> map= om.toMap(tests);
    System.out.println(map.toString());
    Map<String,Object> omap= om.toObjectMap(tests);
    System.out.println(omap.toString());
    }

    }
    class Tests{
    private int age;
    private String name;

    public Tests(int age,String name) {
    this.age=age;
    this.name=name;
    }
    public int getAge() {
    return age;
    }

    public void setAge(int age) {
    this.age = age;
    }

    public String getName() {
    return name;
    }

    public void setName(String name) {
    this.name = name;
    }
    }

    展开全文
  • 在使用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类型。

    展开全文
  • JavaObjectMap的互

    2022-07-05 16:31:02
    有时,我们需要将实体对象转成map,有时,我们需要将map转成实体对象,下面利用反射完成这样的转换

    背景

    有时,我们需要将实体对象转成map,有时,我们需要将map转成实体对象,下面利用反射完成这样的转换

    obj转map

    思想:利用反射获取对象属性和属性值,设置到map中

    /**
     * 实体对象转成Map
     * @param obj 实体对象
     * @return
     */
    public static Map<String, Object> object2Map(Object obj) {
        Map<String, Object> map = new HashMap<>();
        if (obj == null) {
            return map;
        }
        Class clazz = obj.getClass();
        Field[] fields = clazz.getDeclaredFields();
        try {
            for (Field field : fields) {
                field.setAccessible(true);
                map.put(field.getName(), field.get(obj));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return map;
    }
    

    map转obj

    思想:根据实体属性找map中对应key的value,设置给实体属性,注意如果是static或final修饰的,不能设置值

    /**
     * Map转成实体对象
     * @param map map实体对象包含属性
     * @param clazz 实体对象类型
     * @return
     */
    public static Object map2Object(Map<String, Object> map, Class<?> clazz) {
        if (map == null) {
            return null;
        }
        Object obj = null;
        try {
            obj = clazz.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);
                field.set(obj, map.get(field.getName()));
            }
        } catch (Exception e) {
            e.printStackTrace();
        } 
        return obj;
    }
    
    展开全文
  • java实现ObjectMap之间的转换3种方式发布于 2020-8-2|复制链接本篇文章主要介绍了java实现ObjectMap之间的转换3种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下利用commons.BeanUtils实现Obj和Map...
  • import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class MapTransPojo { public static final Logger log = LoggerFactory.getLogger(MapTransPojo.class);
  • 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
  • Object转换Map

    2022-06-29 17:12:31
    Object转Map
  • JAVA- ObjectMap类型互

    千次阅读 2020-12-30 22:39:34
    发现在request中获取参数时,如果强制map类型会有警告提示。在网上搜到下面的代码,提供了三种解决方案。第一种方法:仍然会有警告提示第二种方法:我觉得这个方法是一个相对完整的解决办法。 该方法抛出不少...
  • 主要介绍了Java利用反射获取object的属性和值代码示例,具有一定借鉴价值,需要的朋友可以参考下。
  • javaObject对象转为Map类型数据

    千次阅读 2020-03-30 21:37:47
    根据情况设定获取fid、id和设定子树的方法名。默认的方法名看代码注释。 public class MenuTreeUtils<T> { private List<T> treeList; //获取fid 的方法名 private String getFidMethod = "getFid...
  • Java把把List<Object>转换成Map,Object>形式通用方法封装工具
  • object转mapobject转jsonArray

    千次阅读 2020-12-03 14:15:26
    相信在调用一些接口时,拿到的是一些字符串,更好的操作这些数据,我们需要相应的转换: 用阿里的包 <dependency> <groupId>com.alibaba</groupId>...object转map Object jsonObj;
  • 主要介绍了java实体对象与Map之间的转换工具类代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • [java反射]将对象Object转换为Map

    千次阅读 2018-04-14 12:45:52
    下面运用java反射的知识,写一个工具方法,用来将对象Object转换为Map, 转换规则为:Map中的key是原对象的属性名,value是原来对象的属性值 import java.lang.reflect.Field; import java.util.HashMap; import ...
  • JavaObject转换为List类型

    万次阅读 2020-05-19 15:57:33
    解析数据的时候map.get(key)所获取到的类型为Object。此时,需要转换成我们所需要的数据类型进行使用。 类型转换 在类型转换工程中,常见的转换方式为强制转换。如(String)map.get(key),(int)map.get(key)等。在是...
  • ... import java.lang.reflect.Field; import java.text.SimpleDateFormat; import java.util.*;... * Created by lonecloud on 17/3/12. * 用于对Object进行解析并且转换成Map键值对的形式 * * @author lo
  • } }classb { } 运行结果为: test.java.hashmap.b@14318bb test.java.hashmap.b@14318bb test.java.hashmap.b@14318bb java Map使用Object 做为Key的问题,搜素材,soscw.com java Map使用Object 做为Key的问题 标签...
  • java8将List<Map,Object>>转换为Map

    千次阅读 2021-08-20 15:00:59
    Map<String,Object>> qlist=ttptOrderMMapper.selectList(tptQuery); Map<String,Object> map=qlist.stream().collect(Collectors.toMap(a1->a1.get("mapkeyid"),a2->a2));
  • Java JSONList<Map,Object>> 转换泛型
  • 思路是采用反射机制,直接获取对象所有字段,遍历的时候在map里put进每个字段的值public static void transformBeanToMap(Object object,Mapmap)throws IllegalArgumentException, IllegalAccessException {Field[] ...
  • java将对象转map,map转对象工具类

    千次阅读 2019-03-05 15:35:00
    1 /** 2 * 将map转换为一个对象 3 * 4 * @param map 5 * @param beanClass 6 * @return 7 * @throws Exception 8 */ 9 public static Object mapToObject(Map&l...
  • 1.强转:(List)map.get(“xxx”) 强转IDEA会提示警告信息Unchecked cast:‘xxx’ to ‘xxx’,不建议 2.借用函数进行转换 public List castList(Object obj, Class clazz) { List result = new ArrayList(); if...
  • java Object转Map

    2016-06-20 17:37:00
     项目中,最近有这种需求,然后自己根据API提供的类,写了两个Object转Map的方法: /** * 使用java.beans.Introspector转换 * @param object * @return map * @throws Exception */ public static ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 417,636
精华内容 167,054
关键字:

java获取object 转map