目录

通过Map类和List类的List<Map<>>组合类体会JSON

下面这段 Java 代码使用 JUnit 的 @Test 注解定义了一个测试方法 testMapList。该方法的主要功能是创建一个包含多个 Map 对象的 List,并将这些 Map 对象添加到列表中,然后打印列表内容,最后使用 FastJSON 库将列表转换为JSON字符串、JSON格式化字符串并打印。

java 复制代码
@Test  
public void testMapList() {  
  
	List<Map<String,Object>> resultList = new ArrayList<>();  
	Map<String, Object> map1 = new HashMap<>();  
	Map<String, Object> map2 = new HashMap<>();  
	Map<String, Object> map3 = new HashMap<>();  
	  
	map1.put("键1","值1");  
	map1.put("键2","值2");  
	map1.put("键3","值3");  
	map2.put("键5","值5");  
	map1.put("键4",map2);  
	  
	map3.put("键6","值6");  
	resultList.add(map1);  
	resultList.add(map3);  
	  
	System.out.println(resultList);  
	  
	// 使用 FastJSON 将 resultList 转换为 JSON 字符串  
	String jsonString = JSON.toJSONString(resultList);  
	System.out.println(jsonString);  
	
	// 使用 FastJSON 将 resultList 转换为格式化的 JSON 字符串,符合阅读习惯
	String fomatJsonString = JSON.toJSONString(resultList, SerializerFeature.PrettyFormat); 
	System.out.println(fomatJsonString);
}
1. 方法定义和初始化
java 复制代码
@Test
public void testMapList() {
    List<Map<String,Object>> resultList = new ArrayList<>();
    Map<String, Object> map1 = new HashMap<>();
    Map<String, Object> map2 = new HashMap<>();
    Map<String, Object> map3 = new HashMap<>();
}
  • List<Map<String,Object>> resultList = new ArrayList<>();:创建一个 List 对象 resultList,用于存储 Map 对象。List 的泛型类型是 Map<String, Object>,表示该列表中的每个元素都是一个键为 String 类型,值为 Object 类型的 Map
  • 分别创建三个 Map 对象 map1map2map3,用于存储键值对。
2. 向 Map 中添加键值对
java 复制代码
map1.put("键1","值1");
map1.put("键2","值2");
map1.put("键3","值3");
map2.put("键5","值5");
map1.put("键4",map2);
map3.put("键6","值6");
  • map1.put("键1","值1");:向 map1 中添加一个键值对,键为 "键1",值为 "值1"
  • map1.put("键4",map2);:将 map2 作为值,键为 "键4" 放入 map1 中。这意味着 map1 中的 "键4" 对应的值是另一个 Map 对象 map2
  • 同理,向 map2 中添加 "键5""值5",向 map3 中添加 "键6""值6"
3. 将 Map 对象添加到 List
java 复制代码
resultList.add(map1);
resultList.add(map3);
  • map1map3 添加到 resultList 列表中。
4. 打印 List 内容
java 复制代码
System.out.println(resultList);

使用 System.out.println 方法打印 resultList 的内容。由于 List 类重写了 toString() 方法,所以会按照 Java 的集合格式输出列表中的元素。

5. 使用 FastJSONList 转换为 JSON 字符串并打印
xml 复制代码
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>2.0.30</version>
</dependency>
java 复制代码
// 这里使用了阿里FastJSON库,需要提前导入到maven中
String jsonString = JSON.toJSONString(resultList);
System.out.println(jsonString);

// 使用 FastJSON 将 resultList 转换为格式化的 JSON 字符串,符合阅读习惯
String fomatJsonString = JSON.toJSONString(resultList, SerializerFeature.PrettyFormat); 
System.out.println(fomatJsonString);
  • JSON.toJSONString(resultList);:使用 FastJSON 库的 toJSONString 方法将 resultList 转换为 JSON 格式的字符串。
    • JSON.toJSONString(resultList, SerializerFeature.PrettyFormat);:使用 FastJSON 库的 toJSONString 方法将 resultList 转换为 JSON 格式化后的字符串。
  • System.out.println(jsonString);:打印转换后的 JSON 字符串。
6.打印结果
cmd 复制代码
[{键1=值1, 键4={键5=值5}, 键2=值2, 键3=值3}, {键6=值6}]
[{"键1":"值1","键4":{"键5":"值5"},"键2":"值2","键3":"值3"},{"键6":"值6"}]
[
	{
		"键1":"值1",
		"键4":{
			"键5":"值5"
		},
		"键2":"值2",
		"键3":"值3"
	},
	{
		"键6":"值6"
	}
]
本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
martian6652 分钟前
Spring Boot后端开发全攻略:核心概念与实战指南
java·开发语言·spring boot
ElasticPDF-新国产PDF编辑器14 分钟前
React 项目 PDF 批注插件库在线版 API 示例教程
react.js·pdf·json
跟着珅聪学java2 小时前
spring boot +Elment UI 上传文件教程
java·spring boot·后端·ui·elementui·vue
我命由我123452 小时前
Spring Boot 自定义日志打印(日志级别、logback-spring.xml 文件、自定义日志打印解读)
java·开发语言·jvm·spring boot·spring·java-ee·logback
lilye662 小时前
程序化广告行业(55/89):DMP与DSP对接及数据统计原理剖析
java·服务器·前端
豆芽脚脚3 小时前
合并相同 patient_id 的 JSON 数据为数组
postgresql·json
战族狼魂6 小时前
CSGO 皮肤交易平台后端 (Spring Boot) 代码结构与示例
java·spring boot·后端
xyliiiiiL7 小时前
ZGC初步了解
java·jvm·算法
杉之7 小时前
常见前端GET请求以及对应的Spring后端接收接口写法
java·前端·后端·spring·vue
hycccccch8 小时前
Canal+RabbitMQ实现MySQL数据增量同步
java·数据库·后端·rabbitmq