`

Java 对象转化为Map

阅读更多

下面将会使用内省和反射机制来实现JavaBean转化为Map,当然也是可以相互转化。

/**
	 * 对象转化成Map对象
	 * @param obj
	 * @return
	 */
	private Map<String, Object> transBean2Map(Object obj) {
		if(obj == null){
			return null;
		}
		Map<String, Object> map = new HashMap<>();
		try {
			BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
			PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
			for (PropertyDescriptor property : propertyDescriptors) {
				String key = property.getName();
				// 过滤class属性
				if (!key.equals("class") && !key.equals("pageNo") && !key.equals("pageSize")) {
					// 得到property对应的getter方法
					Method getter = property.getReadMethod();
					Object value = getter.invoke(obj);
					map.put(key, value);
				}
			}
		} catch (Exception e) {
			System.out.println("transBean2Map Error " + e);
		}
		return map;
	}

 

以上总结:

JavaBean与Map<String,Object>互转利用到了java的内省( Introspector )和反射(reflect)机制。 其思路为: 通过类 Introspector 来获取某个对象的 BeanInfo 信息,然后通过 BeanInfo 来获取属性的描述器PropertyDescriptor,再利用属性描述器获取某个属性对应的 getter/setter 方法,然后通过反射机制来getter和setter。

 

重点推荐:

http://blog.csdn.net/cuidiwhere/article/details/8130434

分享到:
评论

相关推荐

    在Java 8中将List转换为Map对象方法

    主要介绍了在Java 8中将List转换为Map对象方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

    Java List或Map对象和json字符串数据的相互转化

    将java对象list或者map转json数据不需要第三方包,直接使用就可以了,如果你传入的数据不确定是map类型还是list类型,那么自己处理一下就可以了(判断下类型,传入参数改为object)。 如果是json数据转成java对象list...

    JAVA对象转化为JSON

    可转化JAVA对象(bean,list,map,set)。如果要求返回的JSON对象有严格的要求此包不适用,不推荐下载了。

    将对象属性转化为map集合的工具类

    将对象属性转化为map集合的工具类

    java对象转对象插件

    可以将对象转map,list,set,或者对象. 方便人们的使用.

    map转Java实体类

    将一个 Map对象转化为JavaBean的形式返回,抛弃一些出现异常的问题与方法,遵循Java开发规范

    Bean与Map转换工具类BeanMapConverter.java

    Bean与MAP间互转换的工具类。 1.将一个 Map 对象转化为一个 JavaBean,可指定BEAN的类型; 2.将一个 JavaBean 对象转化为一个 HashMap;

    java中实体类和JSON对象之间相互转化

    Java中关于Json格式转化Object,Map,Collection类型和String类型之间的转化在我们实际项目中应用的很是普遍和广泛。最近工作的过程中也是经常有,因此,自己封装了一个类分享给大家。

    Java JSON与Object互转源代码

    该代码通过两个简单的方法进行JSON数据与Java对象之间简单转化: 1. String jsonStr = JSONTool.convertObjectToJson(object); 2. Object obj = JSONTool.convertJsonToObject(jsonStr); 缺点:对于集合(Collection...

    处理Java对象转Json字符串的功能

    接受对象转换为JSON数据格式并且作为字符串输出,map转换json,list转换json

    json和java之间的转化方法

    json数组和java对象数组、json对象和java对象之间的互相转化。

    List转换为List

    List转换为List&lt;Map&gt;, List转换为List&lt;Object&gt; list转化为 JsonArray ,list转换JsonArray

    java转换万能工具类附带jar包

    * 从一个JSON 对象字符格式中得到一个java对象 * @param jsonString * @param pojoCalss * @return */ /** *//** * 从json HASH表达式中获取一个map,改map支持嵌套功能 * @param jsonString * @return *...

    将JSON字符串转换成Map对象的方法

    页面向后台action传递一个json字符串,需要将json字符串转换成Map对象 public Map&lt;String&gt; toMap(Object object) { Map&lt;String&gt; data = new HashMap(); // 将json字符串转换成jsonObject JSONObject jsonObject...

    JAVA的常用类

    例如使用Map对象要操作put()方法时,需要传入的参数是对象而不是基本数据类型。为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper ...

    java jdk实列宝典 光盘源代码

    java为数据结构中的映射定义一个接口java.util.Map,有四个实现类HashMap Hashtable LinkedHashMap TreeMap用法和区别;对Map排序; 5字符串 使用String;判断一个字符串是否是合法的java标识符;使用StringBuffer;...

    jackson json 转 map 数值科学计数法的问题解决.docx

    将json转换为map之后,如果数值类型太多会在转换之后出现科学计数法的问题,经研究jackson源码、网上百度资料得知可以通过设置一些参数解决该问题

    疯狂JAVA讲义

    学生提问:为什么我创建Java对象时从未感觉到java.lang.Object的构造器被调用过? 150 5.7 多态 151 5.7.1 多态性 151 5.7.2 引用变量的强制类型转换 152 5.7.3 instanceof运算符 154 5.8 继承与组合 154 ...

    JAVA基础课程讲义

    JAVA对象的序列化和反序列化 161 为什么需要序列化和反序列化 161 对象的序列化主要有两种用途 161 序列化涉及的类和接口 162 序列化/反序列化的步骤和实例 162 综合的序列化和反序列化练习 163 JAVA.IO包相关流对象...

    java初学者必看

    最近正在学习Java,也买了很多的有关Java方面的书籍,其中发现《跟我学Java》这本书,都的很不错啊,所以顺便拿电脑把这本书的目录敲了下来,与大家分享。尤其是那些和我一样初学Java的朋友们,看看哪一节对你有用,...

Global site tag (gtag.js) - Google Analytics