-
2022-06-29 17:12:31
在平时编程的过程中经常会用的到,可以通过这个方法进行扩展,更好的操作Object对象
/** * Object转换为Map<Integer, String>格式 * * @param obj Excel的行数据 * @return List数据 */ private Map<Integer, String> object2Map(Object obj) { Map<Integer, String> map = Maps.newHashMap(); List<String> result = new ArrayList<>(); if (obj instanceof ArrayList<?>) { for (Object o : (List<?>) obj) { result.add((String) o); } } for (int i = 0; i < result.size(); i++) { map.put(i + 1, result.get(i)); } return map; }
希望可以帮助到大家!!!
更多相关内容 -
Map 转为Object Object 转为 Map java jdk1.4以上
2013-08-30 12:21:16Map 转为Object Object 转为 Map java jdk1.4以上 应用java 反射机制实现 有工程,直接运行 -
java实现Object和Map之间的转换3种方式
2020-08-30 03:24:23本篇文章主要介绍了java实现Object和Map之间的转换3种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
Json数组形式的字符串或Object 转为Map数组 Map集合的几种遍历方式
2019-08-21 15:03:08// Json数组形式的字符串转为Map数组 String strArr = "[{"name": "xx", "age": "16"},{"name": "yy", "age": "18"}]"; //第一种方式 List<Map<String,String>> listObjectFir = (List<Map<...// Json数组形式的字符串转为Map数组 String strArr = "[{"name": "xx", "age": "16"},{"name": "yy", "age": "18"}]"; //第一种方式 List<Map<String,String>> listObjectFir = (List<Map<String,String>>) JSONArray.parse(strArr); System.out.println("利用JSONArray中的parse方法来解析json数组字符串"); for(Map<String,String> mapList : listObjectFir){ for (Map.Entry entry : mapList.entrySet()){ System.out.println( entry.getKey() + " " +entry.getValue()); } } //第二种方式 List<Map<String,String>> listObjectSec = JSONArray.parseObject(strArr,List.class); System.out.println("利用JSONArray中的parseObject方法并指定返回类型来解析json数组字符串"); for(Map<String,String> mapList : listObjectSec){ for (Map.Entry entry : mapList.entrySet()){ System.out.println( entry.getKey() + " " +entry.getValue()); } } //第三种方式 JSONArray listObjectThir = JSONArray.parseArray(strArr); System.out.println("利用JSONArray中的parseArray方法来解析json数组字符串"); for(Object mapList : listObjectThir){ for (Object entry : ((Map)mapList).entrySet()){ System.out.println(((Map.Entry)entry).getKey() + " " +((Map.Entry)entry).getValue()); } } //第四种方式 List listObjectFour = JSONArray.parseArray(strArr,Map.class); System.out.println("利用JSONArray中的parseArray方法并指定返回类型来解析json数组字符串"); for(Object mapList : listObjectFour){ for (Object entry : ((Map)mapList).entrySet()){ System.out.println(((Map.Entry)entry).getKey() + " " +((Map.Entry)entry).getValue()); } } //第五种方式 JSONArray listObjectFifth = JSONObject.parseArray(strArr); System.out.println("利用JSONObject中的parseArray方法来解析json数组字符串"); for(Object mapList : listObjectFifth){ for (Object entry : ((Map)mapList).entrySet()){ System.out.println(((Map.Entry)entry).getKey() + " " +((Map.Entry)entry).getValue()); } } //第六种方式 List listObjectSix = JSONObject.parseArray(strArr,Map.class); System.out.println("利用JSONObject中的parseArray方法并指定返回类型来解析json数组字符串"); for(Object mapList : listObjectSix){ for (Object entry : ((Map)mapList).entrySet()){ System.out.println(((Map.Entry)entry).getKey() + " " +((Map.Entry)entry).getValue()); } } //第七种方式 JSONArray listObjectSeven = JSON.parseArray(strArr); System.out.println("利用JSON中的parseArray方法来解析json数组字符串"); for(Object mapList : listObjectSeven){ for (Object entry : ((Map)mapList).entrySet()){ System.out.println(((Map.Entry)entry).getKey() + " " +((Map.Entry)entry).getValue()); } } //第八种方式 List listObjectEigh = JSONObject.parseArray(strArr,Map.class); System.out.println("利用JSON中的parseArray方法并指定返回类型来解析json数组字符串"); for(Object mapList : listObjectEigh){ for (Object entry : ((Map)mapList).entrySet()){ System.out.println(((Map.Entry)entry).getKey() + " " +((Map.Entry)entry).getValue()); } } // map集合遍历 Map<String, Integer> tempMap = new HashMap<String, Integer>(); tempMap.put("a","12"); tempMap.put("b","34"); tempMap.put("c","56"); // 遍历方法一 hashmap entrySet() 遍历 Iterator it = tempMap.entrySet().iterator(); while (it.hasNext()) { Map.Entry entry = (Map.Entry) it.next(); Object key = entry.getKey(); Object value = entry.getValue(); System.out.println("key=" + key + " value=" + value); } // 遍历方法二 for (Map.Entry<String, Integer> entry : tempMap.entrySet()) { String key = entry.getKey().toString(); String value = entry.getValue().toString(); System.out.println("key=" + key + " value=" + value); } // 遍历方法三 hashmap keySet() 遍历 for (Iterator i = tempMap.keySet().iterator(); i.hasNext();) { Object obj = i.next(); System.out.println(obj);// 循环输出key System.out.println("key=" + obj + " value=" + tempMap.get(obj)); } for (Iterator i = tempMap.values().iterator(); i.hasNext();) { Object obj = i.next(); System.out.println(obj);// 循环输出value } // 遍历方法四 treemap keySet()遍历 for (Object o : tempMap.keySet()) { System.out.println("key=" + o + " value=" + tempMap.get(o)); } // java如何遍历Map <String, ArrayList> map = new HashMap <String, // ArrayList>(); System.out.println("java 遍历Map <String, ArrayList> map = new HashMap<String, ArrayList>();"); Map<String, ArrayList> map = new HashMap<String, ArrayList>(); Set<String> keys = map.keySet(); Iterator<String> iterator = keys.iterator(); while (iterator.hasNext()) { String key = iterator.next(); ArrayList arrayList = map.get(key); for (Object o : arrayList) { System.out.println(o); } } Map<String, List> map = new HashMap<String, List>(); for (Map.Entry entry : map.entrySet()) { String key = entry.getKey().toString(); List<String> list= (List) entry.getValue(); for (String value : list) { System.out.println(key + "====" + value); } }
// 以下是object对象如何转为map
AccountExportDto accountExportDto=new AccountExportDto(); accountExportDto.setStatus(1); accountExportDto.setNickName("李四"); accountExportDto.setAge(18);
第一种 FastJson
//Object转Map
Map map = JSONObject.parseObject(JSONObject.toJSONString(accountExportDto), Map.class);
Map<String,Object> map = JSONObject.parseObject(JSON.toJSONString(accountExportDto));
//Map转Object
AccountExportDto accountDto= JSON.parseObject(JSON.toJSONString(map), AccountExportDto.class);
AccountExportDto accountDto2= JSONObject.toJavaObject(JSON.toJSONString(map), AccountExportDto.class);第二种 jackson的转换
ObjectMapper mapper = new ObjectMapper();
//对象转map
Map m = mapper.readValue(mapper.writeValueAsString(accountExportDto), Map.class);
//map转对象
AccountExportDto dto = mapper.readValue(mapper.writeValueAsString(m), AccountExportDto.class);第三种org.apache.commons.beanutils.BeanUtils将map转为对象
BeanUtils.populate(findArchiveDto, map);
第四种org.apache.commons.beanutils.BeanMap进行转换
Map<String, Object> map = new org.apache.commons.beanutils.BeanMap(findArchiveDto);
//Object转Map
public static Map<String, Object> getObjectToMap(Object obj) throws IllegalAccessException {
Map<String, Object> map = new LinkedHashMap<String, Object>();
Class<?> clazz = obj.getClass();
System.out.println(clazz);
for (Field field : clazz.getDeclaredFields()) {
field.setAccessible(true);
String fieldName = field.getName();
Object value = field.get(obj);
if (value == null){
value = "";
}
map.put(fieldName, value);
}
return map;
}//Map转Object
public static Object mapToObject(Map<Object, Object> map, Class<?> beanClass) throws Exception {
if (map == null)
return null;
Object obj = beanClass.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);
if (map.containsKey(field.getName())) {
field.set(obj, map.get(field.getName()));
}
}
return obj;
}判断map中某个key是否已存在
map.containsKey(key) true-存在
扩展知识:
//进行beans拷贝,时间出现了空值而无法进行复制
//要解决这个问题可以在以上代码执行前添加以下的代码(可根据具体的需求设置转换类型)
ConvertUtils.register(new IntegerConverter(null), BigInteger.class);
以下是将map中的数据映射到JavaBean中的get和set方法中(封装数据到JavaBean中)
BeanUtils.populate(实体对象, map);
反过来 使用:
JSON.parseObject(JSON.toJSONString(实体对象), Map.class);
-
Object 转Map,Map转Object方式总结
2022-03-16 11:35:16#使用org.apache.commons.beanutils.BeanUtils将map转为对象 BeanUtils.populate(product, map); 第四种: 通过反射实现 通过反射实现Bean 转Map //Object转Map public static Map getObjectToMap(Object obj) ...商品业务对象定义:Product
Product product = new Product(); product.setId(1L); product.setName("爱他美") product.setProductDt("2022-03-16")
第一种:通过Alibaba Fastjson实现:
pom.xml 文件依赖
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.66</version> </dependency>
//Object转Map Map map = JSONObject.parseObject(JSONObject.toJSONString(product), Map.class); Map<String,Object> map = JSONObject.parseObject(JSON.toJSONString(product)); //Map转Object Product productDto1 = JSON.parseObject(JSON.toJSONString(map), Product.class); Product productDto2 = JSONObject.toJavaObject(JSON.toJSONString(map), Product.class);
第二种:通过SpringBoot自带 Jackso实现
一般情况下我们引入MVC,MVC里面帮我们引入了Jackso依赖
<!-- springboot web(MVC)--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
最终的依赖:
ObjectMapper mapper = new ObjectMapper(); //对象转map Map m = mapper.readValue(mapper.writeValueAsString(product), Map.class); //map转对象 Product dto = mapper.readValue(mapper.writeValueAsString(m), Product.class);
第三种:通过Apache common Bean工具类实现
Pom.xml文件依赖
<dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>1.9.3</version> </dependency>
#使用org.apache.commons.beanutils.BeanMap进行转换,实现Bean转Map Map<String, Object> map = new org.apache.commons.beanutils.BeanMap(product); #使用org.apache.commons.beanutils.BeanUtils将map转为对象 BeanUtils.populate(product, map);
第四种: 通过反射实现
通过反射实现Bean 转Map
//Object转Map public static Map<String, Object> getObjectToMap(Object obj) throws IllegalAccessException { Map<String, Object> map = new LinkedHashMap<String, Object>(); Class<?> clazz = obj.getClass(); System.out.println(clazz); for (Field field : clazz.getDeclaredFields()) { field.setAccessible(true); String fieldName = field.getName(); Object value = field.get(obj); if (value == null){ value = ""; } map.put(fieldName, value); } return map; }
通过反射实现Map转Bean
//Map转Object public static Object mapToObject(Map<Object, Object> map, Class<?> beanClass) throws Exception { if (map == null) return null; Object obj = beanClass.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); if (map.containsKey(field.getName())) { field.set(obj, map.get(field.getName())); } } return obj; }
-
ObjectToMapUtil.java(Object对象转Map)
2021-08-16 16:40:50Java代码Object对象转Map -
Java实现Object和Map之间的转换
2022-08-01 10:33:22Java实现Object和Map之间的转换Java实现Object和Map之间的转换
public class Obj2MapUtils { /** * 将Object类型的数据转化成Map<String,Object> * @param obj * @return * @throws Exception */ public static Map<String,Object> obj2Map(Object obj) throws Exception{ Map<String,Object> map=new HashMap<String, Object>(); Field[] fields = obj.getClass().getDeclaredFields(); for(Field field:fields){ field.setAccessible(true); map.put(field.getName(), field.get(obj)); } return map; } /** * 将Map<String,Object>类型的数据转化成Object * @return * @throws Exception */ public Object map2Obj(Map<String,Object> map,Class<?> clz) throws Exception{ Object obj = clz.newInstance(); Field[] declaredFields = obj.getClass().getDeclaredFields(); for(Field field:declaredFields){ int mod = field.getModifiers(); if(Modifier.isStatic(mod) || Modifier.isFinal(mod)){ continue; } field.setAccessible(true); field.set(obj, map.get(field.getName())); } return obj; } }
-
Object转Map和Map转Object
2021-06-28 17:03:36举例: FindArchiveDto findArchiveDto = new FindArchiveDto(); findArchiveDto.setContractStatus("降龙"); findArchiveDto.setCustName(...//Object转Map Map map = JSONObject.parseObject(JSONObject.toJSONStrin -
Object转成map对象
2021-04-07 16:54:261、Object转换成map的方法 import java.lang.reflect.Field; import java.util.HashMap; import java.util.Map; /** * 将Object对象里面的属性和值转化成Map对象 * * @param obj * @return * @throws ... -
java 将Object对象转为Map类型数据
2020-03-30 21:37:47用于构建层级关系 代码如下 根据情况设定获取fid、id和设定子树的方法名。默认的方法名看代码注释。 public class MenuTreeUtils<T> { private List<T> treeList;... //获取id ... -
Java中Object和Map的互转
2022-07-05 16:31:02有时,我们需要将实体对象转成map,有时,我们需要将map转成实体对象,下面利用反射完成这样的转换 -
Object转map方法
2020-05-29 10:27:27import org.apache.commons.beanutils.BeanMap; Map<Object, Object> map = new BeanMap(obj); -
java Object类型转Map
2022-04-19 09:25:35public class ObjectToMap { /*简单Object转成map*/ public static Map<String,String> toMap(Object o){ Map<String,String> map=new HashMap<String, String>(); Field[] fields=o.getClass().... -
Object类型转为Map 强制转换
2021-04-27 14:55:16Object类型转为Map: 强制转换: Map<String, Object> resultMap = new HashMap<>(); Map<String, Object> repairMap = new HashMap<>(); repairMap.put("id",entity); resultMap.put(... -
Object转Map和Map转Object(对象转map,map转对象)
2019-05-09 10:06:20第一种方法:fastJosn import com.alibaba.fastjson.JSON; import ... Object转Map FindArchiveDto findArchiveDto = new FindArchiveDto(); findArchiveDto.setContractStatus("降龙"); ... -
Javascript Object和Map之间的转换
2022-07-28 16:32:30Map类型和Object类型之间的转化 -
Object数据转化为Map对象
2018-10-11 20:31:14使用request的getParameterMap(),将前段ajax传递的Object数据转化为Map对象 import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import javax.servlet.... -
Object转map(亲测好用)
2021-11-19 17:38:22public static Map returnMapByObject(Object object){ Map maps = (Map) JSON.parse(returnJsonByObject(object)); return maps; } /** * 利用 Gson 转换 object(Entity) 序列化为json,字符串 * */ public ... -
Object和Map,List互转工具类
2020-10-28 20:52:44import ... ... import org.springframework.cglib.beans.BeanMap; import java.beans.BeanInfo; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.Meth. -
map结构转为object结构
2022-02-22 07:02:59将map转为object const map = new Map([ [1, 1], [2, 3] ]) map.set("kkk", "xiaokk") function createObj(map) { const obj = new Object(); map.forEach((item, key, map) => { obj[key] = item ... -
Object对象转换成MAP
2018-04-25 11:21:57String, Object> beanToMap throws Exception { //使用Introspector将实体对象转换成map if (item == null) return null; GzWhiteListInfoItem gzWhiteListInfoItem = item.getLineObject(); Map.... -
java Object转Map 工具类
2016-05-27 10:58:04import java.beans.BeanInfo; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.Method; import java.util.HashMap;...import java.util.Map;import org.slf4j.Logger -
JAVA中将对象转为Map类型
2017-08-03 14:17:00之前讲过将Map转为JAVA对象的文章,那么问题来了,如果要把JAVA对象转为Map,又该怎么操作呢?这里亲测了2个方法可行,但目前这2个方法都是基于简单JAVA Bean的情况(即Bean中不能嵌套非基本类型的对象)。 1.通过... -
[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 ... -
Java中Object转Map类型,Map转Object类型
2022-03-26 10:26:52在使用Java编程过程中,经常会遇到获取的数据为Object类型,但只是以这种方式传输,实质还是Map类型,此时就涉及到两种类型的相互转换。 强制转换 在类型转换工程中,常见的转换方式为强制转换。如(String)map.get... -
Java将List<Object>转为Map, Object>的快捷方法 2021-11-18
2021-11-18 16:40:10假设有一个bean public class User{ private String name;... private Integer sex; // 性别 private Integer age;...以往将List转为Map,我是这样的 List<User> userList = new ArrayList<>(5); / -
Object类通过转为JsonObject或Map获取属性值
2020-10-09 14:33:31Object类通过转为JsonObject或Map获取属性值 简介: 在项目使用中,我们经常会遇到object类,如何快速的获取其属性值?在此,不通过反射机制获取,而是将其转为JsonObject类或者Map,获取其对应属性名的属性值。 ...