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

Map集合 实体类对象的相互转换

一、Map转实体类

1. fastjson工具类

导入依赖

<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.54</version>
</dependency>

代码实现 

   Map<String, Object> authorMap = new HashMap<>();authorMap.put("id", 10L);authorMap.put("name", "蜡笔小新");authorMap.put("category", "分类");authorMap.put("score", 90);authorMap.put("intro", "简介");Book book = JSON.parseObject(JSON.toJSONString(authorMap), Book.class);System.out.println(book);

2. Jackson工具类

导入依赖

<!-- Jackson 核心库 -->
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.12.5</version>
</dependency><!-- Jackson 数据绑定库 -->
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.12.5</version>
</dependency>

代码实现

import com.fasterxml.jackson.databind.ObjectMapper;Map<String, Object> personMap = new HashMap<>();
personMap.put("name", "John");
personMap.put("age", 20);ObjectMapper mapper = new ObjectMapper();
Person person = mapper.convertValue(personMap, Person.class);

3. apache.commons.beanutils工具类

导入依赖

<dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils</artifactId><version>1.8.0</version><scope>compile</scope>
</dependency>

代码实现

Map<String, Object> map = new HashMap<>();
map.put("id", 1);
map.put("name", "John");
map.put("age", 25);
Person person = new Person();
BeanUtils.populate(person, map);

二、实体类转Map

1. fastjson工具类

导入依赖

<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.54</version>
</dependency>

代码实现

        Book book1 = new Book();book1.setId(1l);book1.setName("风间");book1.setCategory("分类");book1.setIntro("简介");book1.setScore(100);Map map = JSON.parseObject(JSON.toJSONString(book1), Map.class);System.out.println(map);

2. Jackson工具类

导入依赖

<!-- Jackson 核心库 -->
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.12.5</version>
</dependency><!-- Jackson 数据绑定库 -->
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.12.5</version>
</dependency>

代码实现

import com.fasterxml.jackson.databind.ObjectMapper;Person person = new Person("John", 20);ObjectMapper mapper = new ObjectMapper();
Map<String, Object> personMap = mapper.convertValue(person, Map.class);

3. apache.commons.beanutils工具类

导入依赖

<dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils</artifactId><version>1.8.0</version><scope>compile</scope>
</dependency>

代码实现

Map<String, String> map = BeanUtils.describe(person);
map.remove("class");

http://www.lryc.cn/news/115541.html

相关文章:

  • 用chatGPT从左右眼图片生成点云数据
  • dy六神参数记录分析(立秋篇)
  • 微信-jssdk使用
  • guava-retry使用笔记
  • P1226 【模板】快速幂 | 取余运算
  • 常用开源的弱口令检查审计工具
  • 云监控插件cloudmonitor安装保姆级教程
  • 借用和引用
  • WPF上位机9——Lambda和Linq
  • 从0到1搭建uniapp
  • 安全杂记 - Linux文本三剑客之awk
  • Android 开发者选项日志存储路径
  • jupyter lab build失败,提示需要安装版本>=12.0.0的nodejs但其实已从官网安装18.17.0版本 的解决方法
  • 【set】个人练习-Leetcode-817. Linked List Components
  • Linux IPIP隧道连通两个局域网
  • 华为QinQ技术的基本qinq和灵活qinq 2种配置案例
  • python爬虫1:基础知识
  • 【FAQ】安防监控视频EasyCVR平台分发的FLV视频流在VLC中无法播放
  • python爬虫2:requests库-原理
  • 纹理贴图和渲染
  • BLIP2
  • 陀螺玩具跨境电商亚马逊CPC认证
  • TS学习02-接口
  • WuThreat身份安全云-TVD每日漏洞情报-2023-08-09
  • 6. C++类的静态成员
  • 如何使Python Docker镜像安全、快速、小巧
  • AWS——03篇(AWS之Amazon S3(云中可扩展存储)-01入门)
  • 没有synchronized,rust怎么防并发?
  • 1.Python简介及安装(3.11.4)
  • face_recognition人脸识别与人脸检测