有的时候 我们想将一个JavaBean 转换成 Map,或者反之。
那么就使用下面的转化工具吧!
package com.jiuzi; import java.beans.BeanInfo; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.HashMap; import java.util.Map; public class BeanUtils { /** * 将一个 JavaBean 对象转化为一个 Map * @param bean 要转化的JavaBean 对象 * @return 转化出来的 Map 对象 * @throws IntrospectionException * @throws IllegalAccessException * @throws IllegalArgumentException * @throws InvocationTargetException */ public static Map<String, Object> convertBeanToMap(Object bean) throws IntrospectionException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { Class<?> type = bean.getClass(); Map<String, Object> returnMap = new HashMap<String, Object>(); BeanInfo beanInfo = Introspector.getBeanInfo(type); PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors(); for (PropertyDescriptor propertyDescriptor : propertyDescriptors) { String propertyName = propertyDescriptor.getName(); if (!"class".equals(propertyName)) { Method readMethod = propertyDescriptor.getReadMethod(); Object result = readMethod.invoke(bean, new Object[0]); if (null != result) { returnMap.put(propertyName, result); } else { returnMap.put(propertyName, ""); } } } return returnMap; } /** * 将一个map对象转化为JavaBean * @param type 要转化的类型 * @param map 包含属性值的 map * @return 转化出来的 JavaBean 对象 * @throws IntrospectionException * @throws InstantiationException * @throws IllegalAccessException * @throws IllegalArgumentException * @throws InvocationTargetException */ public static Object convertMapToBean(Class<?> type,Map<String, Object> map) throws IntrospectionException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException{ BeanInfo beanInfo = Introspector.getBeanInfo(type); // 获取类属性 Object obj = type.newInstance(); // 创建 JavaBean 对象 PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors(); for (PropertyDescriptor propertyDescriptor : propertyDescriptors) { String propertyName = propertyDescriptor.getName(); if (map.containsKey(propertyName)) { try { Object value = map.get(propertyName); Object[] args = new Object[]{value}; propertyDescriptor.getWriteMethod().invoke(obj, args); } catch (Exception e) { System.err.println("The failure of "+propertyName+" assignment"); } } } return obj; } }
相关推荐
总结起来,`Map`和`JavaBean`的相互转换在Java开发中是常见需求,通过反射机制可以高效地实现这一功能。在处理大量数据转换时,自定义的转换工具类如`collectionUtils`能够极大提升开发效率,使代码更加简洁和易懂。...
使用Java反射机制,将给定的javaBean转化为Map数类型,以及将Map类型的数据转化为JavaBean
Map和JavaBean是Java中的两种数据结构,它们与JSON有着紧密的关联,因为它们都能用来存储和表示数据。本篇将详细介绍如何在Java中进行JSON到Map、JavaBean以及反之的转换,并探讨相关工具的使用。 1. JSON到Map的...
在 Java 开发中,经常需要将 JSON 数据与 JavaBean、Map 和 List 进行转换。这篇文章将介绍如何将 List 集合、Map 集合和 JavaBean 转换成 JSON 串,并给出相应的示例代码。 1. List 集合转换成 JSON 串 List 集合...
将list<Map>转换成JavaBean的工具类
在Java中,将JavaBean转换为Map的基本步骤是遍历JavaBean的所有属性,通过反射获取其getter方法,然后将属性名和对应的属性值放入Map中。以下是一个简单的示例: ```java import java.beans.Introspector; import ...
Bean与MAP间互转换的工具类。 1.将一个 Map 对象转化为一个 JavaBean,可指定BEAN的类型; 2.将一个 JavaBean 对象转化为一个 HashMap;
在上面的代码中,我们使用 Java 反射机制获取了 JavaBean 对象的所有字段信息,然后将这些字段信息与 Map 对象的键值对进行匹配,并将匹配的结果设置到 JavaBean 对象中。这样我们就可以将 Map 对象自动装配到 ...
一般使用springjdbc、hibernate的sql查询,库获取到的数据都是List<Map, Object>>结果集,如果我们要转化为JavaBean,则需要做一系列的map.get(),然后...此工程中就是解决List<Map, Object>>转化为JavaBean工具类实现
在 Java 开发中,经常需要将 JavaBean 对象和 Map 对象相互转换。例如,在导入数据时,可能需要将 Map 对象转换为 JavaBean 对象,以便更方便地处理数据。本文将介绍 JavaBean 和 Map 相互转换的方法代码示例。 一...
JavaBean和Map以及String与JSON之间的转换在Java开发中是非常常见的操作。这涉及到Java对象的序列化和反序列化,通常用于数据交换或持久化存储。以下是对这些转换的详细解释和示例。 1. JavaBean到JSON JavaBean是...
XML(eXtensible Markup Language)是...总的来说,XML与JavaBean之间的转换是Java开发中常见的任务,涉及到多种技术和库,包括但不限于JAXB、DOM、SAX以及各种辅助工具。理解这些概念和用法对于处理XML数据至关重要。
在Java编程中,有时我们需要将Map对象转换为Java对象,特别是在处理从数据库查询结果或JSON数据解析出来的数据时。这个任务可以通过使用特定的库来简化,例如Apache Commons BeanUtils库,该库包含在"用于将map转换...
本篇文章将详细讲解如何在Java中使用`json-lib`库进行JSON与Java对象之间的相互转换,并提供相关的jar包列表。 首先,`json-lib`是一个非常流行的Java JSON库,它提供了多种Java数据类型与JSON之间的转换功能,包括...
在Java开发中,JavaBean之间的转换通常是一个繁琐的任务,尤其是在大型项目中,大量的转换代码不仅影响代码的整洁度,还可能引入潜在的错误。传统的转换方式如使用BeanUtils或手动编写转换方法各有优缺点,但Map...
`json-lib`是一个Java语言实现的JSON库,它提供了多种数据类型到JSON的转换,包括JavaBean、Map、List、数组等。`json-lib-2.4-jdk15.jar`是这个库的一个版本,兼容JDK15。它提供了许多功能,例如将Java对象转化为...
Java与JSON互相转换是开发过程中常见的需求,尤其是在服务器端与前端之间传递数据时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易读性、易写性和高效性,被广泛应用于Web服务。Java则是...
主要给大家介绍了关于在java中用ObjectMapper类实现Json与bean转换的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
在Java编程中,将JSON字符串转换为JavaBean实例是一个常见的任务,特别是在处理Web服务或API交互时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,而JavaBean是Java中的一种对象模型,用于封装...
excel-bean 主要功能是 JavaBean 与 Excel 数据行之间的互相转换,普通项目中都会有Excel的导入导出功能,使用该工具可以大大提高工作效率,使开发者不必关系复杂的Excel解析。 主要解决 Excel 行类型数据与 ...