首页 前端知识 使用HuTool将HashMap和ArrayList进行Json的相互转化

使用HuTool将HashMap和ArrayList进行Json的相互转化

2024-05-09 11:05:52 前端知识 前端哥 68 39 我要收藏

在这里插入图片描述

前言

在写一个业务时,需要将HashMap转为Json发送,再在别处将接收的Json转为HashMap,在网上搜了半天,最后发现了这个方法,于是记录下来:

过程比较啰嗦,想直接看结果的可以拉到最下面

HashMap 与 Json 的相互转换

首先导入HuTool依赖:

<dependency>
   <groupId>cn.hutool</groupId>
   <artifactId>hutool-all</artifactId>
   <version>5.8.18</version>
</dependency>

我们新建一个测试类,创建一个HashMap:

@SpringBootTest
public class test {

	@Test
	void test(){
		HashMap<String, Integer> map = new HashMap<>();
		map.put("orderId",1);
		map.put("num",1);
	}
}
  • 将HashMap转为Json:
String jsonMap = JSONUtil.toJsonStr(map);
  • 重点来了,再将Json转为HashMap
HashMap<String,Integer> hashMap = JSONUtil.parseObj(jsonMap).toBean(HashMap.class);
  • 输出:
System.out.println("将jsonMap转为hashMap = " + hashMap);
Integer orderId = hashMap.get("orderId");
System.out.println("orderId = " + orderId);
Integer num = hashMap.get("num");
System.out.println("num = " + num);

结果如图所示:

ArrayList 与 Json 的相互转换

  • 首先创建一个ArrayList,里面装了一个Map,转为Json
ArrayList<Map> list = new ArrayList<>();
list.add(map);
System.out.println("list = " + list);
String jsonList = JSONUtil.toJsonStr(list);
System.out.println("jsonList = " + jsonList);
  • 输出一下:

  • 将Json转为ArrayList:

JSONUtil.toList()方法需要传入两个参数:一个JsonArray,一个要转换的类型,这里new一个JsonArray

JSONArray jsonArray = new JSONArray(jsonList);
List<Map> mapList = JSONUtil.toList(jsonArray, Map.class);
System.out.println("将jsonList转为List = " + mapList);
  • 输出结果:

  • 下面试试转换参数为对象的List:

Users users = new Users();
Users users1 = new Users();
Users users2 = new Users();
Users users3 = new Users();
Users users4 = new Users();
Users users5 = new Users();
users.setId(1);
users1.setId(1);
users2.setId(1);
users3.setId(1);
users4.setId(1);
users5.setId(1);
ArrayList<Users> list1 = new ArrayList<>();
list1.add(users);
list1.add(users1);
list1.add(users2);
list1.add(users3);
list1.add(users4);
list1.add(users5);
  • 转换操作:
String objListJson = JSONUtil.toJsonStr(list1);
System.out.println("对象List转为objListJson = " + objListJson);
// 转为JSONArray
JSONArray objects = new JSONArray(objListJson);
// 转为List
List<Users> users6 = JSONUtil.toList(objects, Users.class);
Integer id = users6.get(0).getId();
System.out.println("id = " + id);

结果:

在这里插入图片描述

总结:

HashMap 转为 Json :

String jsonMap = JSONUtil.toJsonStr(map);

Json 转为HashMap:

HashMap<String,Integer> hashMap = JSONUtil.parseObj(jsonMap).toBean(HashMap.class);

ArrayList 转为 Json :

String jsonList = JSONUtil.toJsonStr(list);

Json 转为 ArrayList :

JSONArray objects = new JSONArray(objListJson);
List<Users> users6 = JSONUtil.toList(objects, Users.class);
转载请注明出处或者链接地址:https://www.qianduange.cn//article/7777.html
标签
windows
评论
发布的文章

JSON加密的看法

2024-05-14 23:05:47

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!