java bean 和map相互转换
引用maven
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.13.0</version></dependency>
代码
import com.fasterxml.jackson.databind.ObjectMapper;import java.util.HashMap;
import java.util.Map;public class BeanMapConvert {/*** 将bean 转换成map** @param bean bean对象* @param toValueType 将要转换的目标map的 value字段类型* @param <T> bean类型* @param <V> 将要转换的目标map的 value字段类型* @return*/public static <T, V> Map<String, V> beanToMap(T bean, Class<V> toValueType) {Map<String, V> map = new HashMap<>();try {ObjectMapper mapper = new ObjectMapper();map = mapper.convertValue(bean, Map.class);} catch (Exception e) {e.printStackTrace();}return map;}/*** 将map转换成bean对象** @param map map* @param toValueType 将要转换的目标bean对象类型* @param <T> 将要转换的目标bean对象类型* @param <V> 源map的value字段类型* @return*/public static <T, V> T mapToBean(Map<String, V> map, Class<T> toValueType) {T t = null;try {ObjectMapper mapper = new ObjectMapper();t = mapper.convertValue(map, toValueType);} catch (Exception e) {e.printStackTrace();}return t;}
}
使用
public static void main(String[] args) {try {MyEntity myEntity = new MyEntity();myEntity.setCode("xxx");myEntity.setName("yyyy");Map<String, String> map = BeanMapConvert.beanToMap(myEntity,String.class);System.out.println(JSON.toJSONString(map));MyEntity myEntity2 = BeanMapConvert.mapToBean(map, MyEntity.class);System.out.println(JSON.toJSONString(myEntity2));} catch (Exception ex) {System.out.println(ExceptionUtil.getERROR(ex));}System.out.println("结束----");}