Java中如何实现Map与JSON数据之间的互相转换?
map转JSON字符串packagecom.hanfan.test;//HANFAN自动读取PC名字,也可以写死这个名字importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONObject;importjava.util.HashMap;importjava.util.Map;/***@AuthorHANFAN*@Date2022/4/2116:01*@Version1.0*/publicclassmapAndJsonCast{publ
map转JSON字符串
package com.hanfan.test;// HANFAN自动读取PC名字,也可以写死这个名字
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import java.util.HashMap;
import java.util.Map;
/**
* @Author HANFAN
* @Date 2022/4/21 16:01
* @Version 1.0
*/
public class mapAndJsonCast {
public static void main(String[] args) {
/* map转化JSON字符串常用 */
Map testMap = new HashMap<>();
testMap.put("str1","fu");
testMap.put("str2","ck");
String str = JSON.toJSONString(testMap);
System.out.println("testMap的值:" + testMap);
// 打印的结果是: testMap的值:{str1=fu, str2=ck}
}
}JSON字符串转JSON对象
/* JSON字符串转JSON对象常用*/
String jsonStr = "{\"str3\":\"zhangsan\",\"str4\":\"lisi\",\"str5\":\"wangwu\",\"str6\":\"maliu\"}";
JSONObject jsonObject = JSONObject.parseObject(jsonStr);
System.out.println("jsonObject:" + jsonObject);
// 打印的结果是: jsonObject:{"str5":"wangwu","str6":"maliu","str3":"zhangsan","str4":"lisi"}Map转JSON对象
由上面两条转化可知,map先转成JSON字符串,再由JSON字符串转化成JSON对象
/*Map转JSON对象常用 */
JSONObject JSONObj = JSONObject.parseObject(JSON.toJSONString(testMap));
System.out.println("JSONObj:" + JSONObj);
// 打印的结果是: JSONObj:{"str1":"fu","str2":"ck"}JSON字符串转Map
/* JSON字符串转Map常用*/ MapstrMap = JSONObject.parseObject(jsonStr); System.out.println("strMap:" + strMap); // 打印的结果是: strMap:{"str5":"wangwu","str6":"maliu","str3":"zhangsan","str4":"lisi"}
JSON对象转Map
其实就是json对象先转成json字符串,json字符串再转map
/*JSON对象转map常用*/ MapjsonToMap = JSONObject.parseObject(jsonObject.toJSONString()); System.out.println("jsonToMap:"+jsonToMap); // 打印的结果是: jsonToMap:{"str5":"wangwu","str6":"maliu","str3":"zhangsan","str4":"lisi"}
JSON对象转JSON字符串
//JSON对象转JSON字符串
String jsonToStr = jsonObject.toJSONString();
System.out.println("jsonToStr=>"+jsonToStr);
// 打印的结果是: jsonToStr=>{"str5":"wangwu","str6":"maliu","str3":"zhangsan","str4":"lisi"}根据以上转换,不难得出三者之间的关系

为了方便记忆,可以换一种思维,
Map转jsonObject时,Map是主体,JSON代表的是Map【简称,JSON代表Map】;
jsonObject转Map时,jsonObject是主体,jsonObject代表的还是JSONObject【简称,我代表我自己】
Map与JSON的区别,我只知道是“=”与“:” 之间的区别。
/* map转化JSON字符串常用 */ MaptestMap = new HashMap<>(); testMap.put("str1","fu"); testMap.put("str2","ck"); String str = JSON.toJSONString(testMap); System.out.println("testMap的值:" + testMap); // 打印的结果是: testMap的值:{str1=fu, str2=ck} /* JSON字符串转JSON对象常用*/ String jsonStr = "{\"str3\":\"zhangsan\",\"str4\":\"lisi\",\"str5\":\"wangwu\",\"str6\":\"maliu\"}"; JSONObject jsonObject = JSONObject.parseObject(jsonStr); System.out.println("jsonObject:" + jsonObject); // 打印的结果是: jsonObject:{"str5":"wangwu","str6":"maliu","str3":"zhangsan","str4":"lisi"}
由打印结果可知,Map是”=“,jsonObject是”:“,
究竟用哪个,以实际情况确定。
IDEA功能快捷键
全局搜索:Ctrl+H
根据文件名搜索:Ctrl+Shift+R/T
在某一个类中搜索:Ctrl+F
加注释【/**/】:Ctrl+Shift+/[两次使用,则是放开注释]
【// 】:Ctrl+/[两次使用,则是放开注释]
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















