我们在处理数据的时候,经常用到map对象转java对象,下面我们用代码演示下,希望能够帮助到有这方面需求的老哥。

要转换的java对象:

public class Person {private Integer id;private String name;private Integer age;private String job;public Person() {}public Person(Integer id, String name, Integer age, String job) {this.id = id;this.name = name;this.age = age;this.job = job;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public String getJob() {return job;}public void setJob(String job) {this.job = job;}@Overridepublic String toString() {return "Person{" +"id=" + id +", name='" + name + '\'' +", age=" + age +", job='" + job + '\'' +'}';}
}

定义个map集合

Map<String,Object>  map = new HashMap<>();map.put("id",1);map.put("name","宋圆圆");map.put("age",25);map.put("job","技术总监");

打印如下:

第一种方式使用 JSONArray

     JSONObject jsonObject = new JSONObject();jsonObject.putAll(map);Person person = jsonObject.toJavaObject(Person.class);
打印输出person

第二种方式实现:自定义工具类

public class MapBeanUtils {public static <T> T mapToBean(Map<String, Object> map, Class<T> class1) {T bean = null;try {bean = class1.newInstance();BeanUtils.populate(bean, map);} catch (InstantiationException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();}return bean;}}
  Person person = MapBeanUtils.mapToBean(map, Person.class);

打印:

注意事项:map的key一定要和bean的属性保持一致。

java之Map对象转java对象的两种简单方式相关推荐

  1. 将java对象存储到redis数据库(两种实现方式)

    本文为转载内容,特此声明,如若侵权,请联系删除,原文地址:https://www.cnblogs.com/potentPrince/p/8668544.html redis主要存储类型最常用的五种数据 ...

  2. 极光推送经验之谈-Java后台服务器实现极光推送的两种实现方式

    转载自 https://www.cnblogs.com/V1haoge/p/6439313.html 原创作品,可以转载,但是请标注出处地址http://www.cnblogs.com/V1haoge ...

  3. java手动注册filter,SpringBoot注册Filter的两种实现方式

    springboot版本:2.2.5 一.filter注册 springboot中添加filter有两种方式: 1.实现方法一 2.实现方法二 二.Springboot自带filter Springb ...

  4. Java常见面试题:对象的访问定位的两种方式

    对象的访问定位的两种方式 java对象在访问的时候,我们需要通过java虚拟机栈的reference类型的数据去操作具体的对象. 由于reference类型在java虚拟机规范中只规定了一个对象的引用 ...

  5. Java面试题:synchronized和对象的访问定位的两种方式

    说一说自己对于 synchronized 关键字的理解 ? synchronized关键字解决的是多个线程之间访问资源的同步性,synchronized关键字可以保证被它修饰的方法或者 代码块在任意时 ...

  6. java遍历嵌套二维map输出下标_Map集合嵌套 4种遍历方式

    package com.oracle.demo01; import java.util.HashMap; import java.util.Iterator; import java.util.Map ...

  7. java map遍历_Java中Map集合的两种遍历方式

    Java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下Java中Map集合的两种遍历方式! 关于遍历Map集合的几 ...

  8. java中两种遍历集合的方式_Java中Map集合的两种遍历方式

    Java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下Java中Map集合的两种遍历方式! 关于遍历Map集合的几 ...

  9. java动态代理两种实现方式

    代理顾名思义就是代理别人完成某件任务,比如张三代理李四去交物业费.张三就是代理人,李四就是被代理人. Java代理实现,有静态代理和动态代理,静态代理就是代码在编译成class文件后,就已经有代理类的 ...

最新文章

  1. 【组队学习】【32期】吃瓜教程——西瓜书+南瓜书
  2. 《WCF技术内幕》翻译32:第2部分_第6章_通道:通道状态机(1)
  3. python对笔记本电脑的要求-笔记本电脑中多版本python的配置
  4. html5无意义标签,无意义的div和span标签
  5. js src 变量_Js基础学习笔记(一)
  6. 使用Java更新DynamoDB项
  7. python decimal 转 float_python教程之二python数学运算
  8. poj 1456 Supermarket 贪心+并查集(个人感觉有点难判断出来
  9. 从客户端中检测到有潜在危险的 request.form值
  10. 第8章 多项式回归与模型泛化 学习笔记中
  11. Atitti.软件的一些理论补充 Atitti.软件的原理原则定律法则补充 目录 1.1. 分布式领域CAP理论, 1 1.2. 关系数据库的ACID模型拥有 高一致性 + 可用性 很难进行分区:
  12. (转)深度学习是经验主义新高峰,不是理性主义终结
  13. uci数据集汇总及翻译
  14. 鲍尔.爱迪斯生前在图论中未完成的问题
  15. linux 软件覆盖安装,pacman/yaourt安装软件的时候覆盖了/usr/share的symlink链接的问题...
  16. 工具之DBeaver安装及使用
  17. 整整26本!由单墫教授主编、葛军等人操刀的高中数学教材都在这里!
  18. E. Selling Souvenirs
  19. ffmpeg转码时对变帧率和固定帧率的处理
  20. 燃气管道定位83KHZ地下电子标识器探测仪ED-8000操作说明1

热门文章

  1. 推广病毒式营销活动策划书
  2. 微软在线技术峰会传递出怎样的信号?
  3. 解决由搜狗输入法引起电脑蓝屏的问题
  4. 高中计算机期末,浙江 信息技术 高二期末考试题
  5. 伺服电机刹车和油封+伺服驱动器相关
  6. WeWork中国与利丰集团达成深化合作;武汉香格里拉中心投入试营业 | 美通企业日报...
  7. 什么是数据传输服务DTS
  8. Kubernetes 中数据包的生命周期 -- 第 3 部分
  9. android 人脸识别换发型,换发型测脸型
  10. 5 查找单价最高的书