先给大家介绍下地图和对象互相转换的代码。
具体代码如所示:
/ ** *使用org.apache.commons.beanutils进行转换 */ a class a {public static object maptoobject(map <string,object> map> apr> class <?> beanclass)抛出异常{if(map = = = = = = = = = = = null)return null;对象obj = beanclass.newinstance(); org.apache.commons.beanutils.beanutils.populate(obj,map);返回obj; } public静态映射<?> objectTomap(object obj){if(obj == null)return null;返回新的org.apache.commons.beanutils.beanmap(obj); }} / ** *使用in Introspector进行转换 * /类B {public static Object maptOObject(Map <string,Object> Map,class <?> beanClass)抛出异常{if(map == null)return null;对象obj = beanclass.newinstance(); beaninfo beaninfo = Introspector.getBeanInfo(obj.getClass()); propertyDescriptor [] propertyDescriptors = beaninfo.getPropertyDescriptors(); for(propertyDescriptor属性:propertyDescriptors){method setter = property.getWriteMethod(); if(setter!= null){setter.invoke(obj,map.get(property.getName())); }}返回obj; } public static映射<字符串,object> objectTomap(object obj)引发异常{if(obj == null)return null; MAP <String,Object> map = new Hashmap <String,Object>(); beaninfo beaninfo = Introspector.getBeanInfo(obj.getClass()); propertyDescriptor [] propertyDescriptors = beaninfo.getPropertyDescriptors(); for(propertyDescriptor属性:propertyDescriptors){string key = property.getName(); if(key.com.comparetoignorecase(“ class”)== 0){继续; }方法getter = property.getReadMethod();对象值= getter!= null? getter.invoke(obj):null; map.put(键,值); }返回地图; }} / ** *使用反射进行转换 * / class c {public static对象maptoobject(map <string,object> map,class <?> beanclass)抛出异常{if(ap == == null)return null;对象obj = beanclass.newinstance(); field [] fields = obj.getClass()。getDeclaredFields(); for(字段:字段){int mod = field.getModifiers(); if(modifier.isstatic(mod)|| modifier.fisfinal(mod)){继续; } field.setAccessible(true); field.set(obj,map.get(field.getName())); }返回obj; } public静态映射<string,object> objectTomap(object obj)引发异常{if(obj == null){return null; } map <字符串,object> map = new Hashmap <String,Object>(); field [] ecledfields = obj.getClass()。getDeclaredFields(); for(field field:evelared fields){field.setAccessible(true); map.put(field.getName(),field.get(obj)); }返回地图; } <p>} </p> <p> </p> <p>来自:http://www.open-open.com/code/code/view/1423280939826 </p>下面给大家介绍地图和json的互相转换
第一段代码
地图<字符串,对象> map =新哈希玛普<字符串,object>(); map.put(“方法”,“ json”); map.put(“ param”,null); map.put(“ time”,“ 2015-01-23 10:54:55”)10:54:55“)
第二段代码
public static void readjson2map(string json){objectMapper objectmapper = new ObjectMapper(); try {//将json字符串转成映射结合解析出来,并打印,图(这里以解析成映射)映射<string,map <string,object >> maps >> maps => maps => maps = appermapper.read.readvalue(json,map.class; system.out.outnize; system.outnize; maps.keyset(); iterator <Iterator <Iter = key.iterator(); while(iter.hasnext()){字符串field = iter.next(); system.out.ut.println(field +“:” + maps.get(field(field)) {e.printstacktrace();} catch(ioexception e){e.printstacktrace();}} readjson2map(json);以上内容是小编给大家介绍的java代码实现映射和对象互转及地图和json的互转的相关知识,希望对大家有所帮助,如果大家想了解更多资讯敬请关注武林网网站