Java中Map與JSON數據之間的互相轉化
map
此內容是方便博主自己記憶內容,不用于公開學習資料,若發(fā)現語法錯誤,自行更正,勿噴
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常用*/
Map<String,Object> strMap = 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常用*/
Map<String,Object> jsonToMap = 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的區(qū)別,我只知道是“=”與“:” 之間的區(qū)別。
/* 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是”:“,
究竟用哪個,以實際情況確定。
IDEA功能快捷鍵
全局搜索:Ctrl + H
根據文件名搜索:Ctrl + Shift+ R/T
在某一個類中搜索:Ctrl + F
加注釋【/**/】:Ctrl + Shift + / [兩次使用,則是放開注釋]
【// 】:Ctrl + / [兩次使用,則是放開注釋]
總結
到此這篇關于Java中Map與JSON數據之間互相轉化的文章就介紹到這了,更多相關Map與JSON數據互相轉化內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
利用Kafka動態(tài)調整topic分區(qū)partition
這篇文章主要介紹了利用Kafka動態(tài)調整topic分區(qū)partition問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12

