这篇文章主要介绍了Java中怎么将Map和JSON数据相互转换的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java中怎么将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对象常用*/ 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字符串,再由JSON字符串转化成JSON对象
/*Map转JSON对象常用 */ JSONObject JSONObj = JSONObject.parseObject(JSON.toJSONString(testMap)); System.out.println("JSONObj:" + JSONObj); // 打印的结果是: JSONObj:{"str1":"fu","str2":"ck"}
/* JSON字符串转Map常用*/ Map<String,Object> strMap = JSONObject.parseObject(jsonStr); System.out.println("strMap:" + strMap); // 打印的结果是: strMap:{"str5":"wangwu","str6":"maliu","str3":"zhangsan","str4":"lisi"}
其实就是json对象先转成json字符串,json字符串再转map
/*JSON对象转map常用*/ Map<String,Object> jsonToMap = JSONObject.parseObject(jsonObject.toJSONString()); System.out.println("jsonToMap:"+jsonToMap); // 打印的结果是: jsonToMap:{"str5":"wangwu","str6":"maliu","str3":"zhangsan","str4":"lisi"}
//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字符串常用 */ Map<String,Object> 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对象常用*/ 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是”:“,
究竟用哪个,以实际情况确定。
全局搜索:Ctrl+H
根据文件名搜索:Ctrl+Shift+R/T
在某一个类中搜索:Ctrl+F
加注释【/**/】:Ctrl+Shift+/[两次使用,则是放开注释]
【// 】:Ctrl+/[两次使用,则是放开注释]
关于“Java中怎么将Map和JSON数据相互转换”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Java中怎么将Map和JSON数据相互转换”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。