1. Map ----> Object
public static <T> T mapToBean(Map<String, Object> map, Class<T> obj) throws Exception { if (map == null) { return null; } Set<Entry<String, Object>> sets = map.entrySet(); T t = obj.newInstance(); Method[] methods = obj.getDeclaredMethods(); for (Entry<String, Object> entry : sets) { String str = entry.getKey(); String setMethod = "set" + str.substring(0, 1).toUpperCase() + str.substring(1); for (Method method : methods) { if (method.getName().equals(setMethod)) { method.invoke(t, entry.getValue()); } } } return t; }
2. Object --> Map
方法一:
public Map<String,Object> objectToMap(Object obj) { Map<String,Object> map = new HashMap<String,Object>(); Class<?> c = null; try { c = Class.forName(obj.getClass().getName()); Method[] m = c.getMethods(); for (int i = 0; i < m.length; i++) { String method = m[i].getName(); if (method.startsWith("get") && !method.equals("getClass")) { try { Object value = m[i].invoke(obj); if (value != null) { String key = method.substring(3); key = key.substring(0, 1).toLowerCase() + key.substring(1); map.put(key, value); } } catch (Exception e) { logger.error("出现错误"); e.printStackTrace(); } } } } catch (Exception e) { logger.error("出现错误"); e.printStackTrace(); } return map; }
方法二:
import java.beans.BeanInfo; import java.beans.Introspector; import java.beans.PropertyDescriptor; public static Map<String, Object> transBean2Map(Object obj) { if(obj == null){ return null; } Map<String, Object> map = new HashMap<String, Object>(); try { BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass()); PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors(); for (PropertyDescriptor property : propertyDescriptors) { String key = property.getName(); if (!key.equals("class")) { Method getter = property.getReadMethod(); Object value = getter.invoke(obj); map.put(key, value); } } } catch (Exception e) { System.out.println("transBean2Map Error " + e); } return map; }
相关推荐
java利用反射,将Object和Map进行互相转换,list和map互相转换 java Map和Object转换,list和map转换
在给定的标题“通过java反射实现map与bean之间互转”中,我们要探讨的是如何利用Java反射机制将Map对象转换为Java Bean对象,以及反过来,将Java Bean对象转换为Map对象。这个过程在数据处理和序列化中非常常见。 ...
总结来说,利用反射实现对象转JSON格式字符串涉及以下步骤: 1. 获取对象的类和所有声明的字段。 2. 使用反射访问字段并获取其值。 3. 将字段值添加到JSON映射中。 4. 如果对象有父类,递归处理父类的字段。 5. 将...
利用 Commons BeanUtils 库可以轻松实现 Object 和 Map 之间的转换。BeanUtils 库提供了 populate() 方法,可以将 Map 对象转换为 Object 对象。同时,BeanMap 类也可以将 Object 对象转换为 Map 对象。 ```java ...
本文将详细介绍如何利用Google Gson库进行JSON字符串与对象之间的相互转换。 首先,我们需要了解Gson的核心概念。Gson库通过`Gson`类来实现JSON与Java对象的转换。当你有一个Java对象并想将其转化为JSON字符串时,...
总结,Java反射机制提供了动态访问和修改对象的能力,使得在Map和Object之间进行转换成为可能。然而,这种转换方式有一定的局限性,例如无法处理私有字段、枚举、接口、泛型等复杂情况。在实际开发中,考虑到性能和...
在本主题中,我们将深入探讨如何使用Java反射机制将Map转换为Java对象,同时支持Boolean和Date类型的数据。这种转换在处理JSON到对象的映射或者数据库查询结果到对象的映射时非常有用。 首先,我们需要了解Java中的...
总结起来,将Map转换为Java实体对象是Java开发中常见的需求,我们可以利用Core Java JDK 1.8的泛型和反射来实现这一功能。通过创建一个通用的工具类,我们可以简化代码并提高代码复用性。在使用过程中,需要注意处理...
对于"java反射实现Object转json"这个主题,我们将深入探讨如何使用反射机制将Java对象转换为JSON格式的数据。 首先,理解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也...
"对象转换成JSON和Map"是一个核心话题,特别是在Java编程语言中,因为JSON(JavaScript Object Notation)是网络通信中广泛使用的轻量级数据交换格式,而Map则是一种通用的数据结构,用于存储键值对。下面我们将深入...
Java中实现Map与对象相互转换的几种实现 Java中实现Map与对象相互转换是许多开发者经常遇到的问题,本文将介绍五种实现Map与对象相互转换的方法,每种方法都将通过示例代码进行详细的介绍。 方法一:使用org....
在给定的“利用java反射将json字符串转成对象”的主题中,我们将深入探讨如何借助反射机制将JSON字符串转换为Java对象。 首先,我们需要了解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人...
总之,Java Map到Bean的转换是通过反射和JavaBeans规范实现的,这是Java开发中常用的一种数据转换技巧。理解并熟练运用这些知识,能够帮助我们更高效地处理各种数据结构,提升代码的灵活性。在实际项目中,可以根据...
在进行JSON与Java对象互转时,需要注意的是,Java对象的属性必须有对应的getter和setter方法,因为`JSONObject`依赖于Java的反射机制来读取和设置属性。此外,`JSONObject`在处理枚举类型时可能需要特别处理,通常会...
在Java编程中,Java Bean对象和Map之间的转换是常见的数据操作。这主要涉及到对象属性与键值对之间的映射,方便数据的存储、传递和处理。在这个主题中,我们将深入探讨如何使用Fastjson和BeanMap两个库来实现这种...
本文将深入探讨如何通过反射机制实现`Map`和`JavaBean`的相互转换。 首先,我们要理解`JavaBean`的基本概念。`JavaBean`是符合JavaBeans规范的类,它通常具有公共的无参构造器、getter和setter方法以及私有的属性,...
在Java开发中,常常需要在Map和对象之间,以及Map和JSON之间进行转换。这样的转换在处理Web请求、数据存储和传输时非常常见。Java本身并没有提供直接的转换机制,但通过一些第三方库或反射机制,我们可以实现这些...
在Java编程中,Map和Object之间的转换是非常常见的操作。在处理数据时,我们可能需要将一个对象的属性映射到Map中,或者从Map中恢复对象的状态。本文将详细介绍如何实现Java中的Map转Object与Object转Map,并提供...
总之,这个案例提供了一种高效的方法,利用Java反射机制在子类和父类之间进行字段赋值,减少了手动编写赋值代码的需求,提高了代码的可维护性和性能,尤其是在处理大量数据持久化或查询结果映射时。通过深入理解并...
在实际开发中,我们常常需要将Java Bean对象与Map对象之间进行转换,以便于数据的处理和传输。以下将详细介绍如何实现这种转换。 首先,让我们了解一下Java Bean。Java Bean是一种符合JavaBeans规范的Java类,它...