/** * list<DTO> 转 list<Map<String,Object>> * * @param list * @param <T> * @return */ public static <T> List<Map<String, Object>> listConvert(List<T> list) { List<Map<String, Object>> list_map = new ArrayList<Map<String, Object>>(); // 定义List<Map<String, Object>>数组<br> // list为外部传进来的list集合 if (CollectionUtils.isNotEmpty(list)) { list.forEach(item ->{// PropertyUtils.describe(Object)转换 Map<String, Object> map = null; try { map = (Map<String, Object>) PropertyUtils.describe(item); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } catch (NoSuchMethodException e) { e.printStackTrace(); } list_map.add(map ); }); } return list_map; }
list<map> 转 list<dto> 使用使用alibaba json
引入依赖:
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.37</version> </dependency>
List<Map<String,Object>> = new ArrayList<>; List<InventoryNeedWeiDto> needDtos = JSON.parseArray(JSON.toJSONString(list), InventoryNeedWeiDto.class);
list对象 转另一个list对象
<dependency> <groupId>ma.glasnost.orika</groupId> <artifactId>orika-core</artifactId> </dependency>
package com.liby.inventory.common.utils; import ma.glasnost.orika.MapperFacade; import ma.glasnost.orika.MapperFactory; import ma.glasnost.orika.impl.DefaultMapperFactory; import ma.glasnost.orika.metadata.Type; import java.util.List; public abstract class BeanMapperUtils { private static MapperFactory mapperFactory = new DefaultMapperFactory.Builder().build(); public static <S,D> D map(S source,Class<D> clazz){ MapperFacade mapper = mapperFactory.getMapperFacade(); return mapper.map(source, clazz); } public static <S,D> void map(S source,D d){ MapperFacade mapper = mapperFactory.getMapperFacade(); mapper.map(source,d); } public static <S, D> D map(S s, Type<S> sType, Type<D> dType){ MapperFacade mapper = mapperFactory.getMapperFacade(); return mapper.map(s, sType, dType); } public static <S,D> List<D> mapAsList(List<S> source, Class<D> clazz){ MapperFacade mapper = mapperFactory.getMapperFacade(); return mapper.mapAsList(source, clazz); } }
BeanMapperUtils.mapAsList(S source,Class clazz);
source: 源对象 D:目标对象
对象转另一个对象
BeanMapperUtils.map(S source,Class clazz) source: 源对象 D:目标对象
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了