当前位置: 首页 > news >正文

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("结束----");}

相关文章:

  • 蓝桥杯国赛第十五届(JAVAB组)
  • 基于 STC89C52 的料仓物位监测系统设计与实现
  • 如何映射 MongoDB 的 _id 字段?
  • uWSGI、IIS、Tomcat有啥区别?
  • 通过低功耗蓝牙通信实例讲透 MCU 各个定时器
  • Hi3516CV610车牌识别算法源码之——实时从sensor采集视频 识别车牌
  • 万用表如何区分零线、火线、地线
  • 机器学习EM算法原理及推导
  • 3.2.1
  • super关键字
  • 测试--自动化测试函数
  • 会议动态|第十五届亚太燃烧学术年会精彩探析
  • 安装Anaconda后无jupyter解决方法
  • 新时代的可观测性:拥抱 GuanceDB 3.0
  • ISO 26262-5 硬件详细设计
  • (1) 查看端口状态
  • 【cursor指南】cursor免费续杯pro会员试用
  • Model 复现系列(一)OpenVLA
  • 【11408学习记录】考研英语辞职信写作三步法:真题精讲+妙句活用+范文模板
  • reboot命令和systemctl reboot命令区别(后者优雅重启)(Systemd系统中reboot实际上是systemctl reboot的软链接)
  • 电子商务网站建设与维护的教学/独立站网站
  • 自做购物网站多少钱/seo网络推广经理招聘
  • 山东网站建设电话/网络广告怎么做
  • 番禺网站优化平台/公关公司提供的服务有哪些
  • 利用海康威视做直播网站/指数基金
  • 山东政府网站集约化建设/推广平台 赚佣金