亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決Java中HashMap與String字符串互轉的問題

發布時間:2022-03-23 14:04:42 來源:億速云 閱讀:500 作者:小新 欄目:開發技術

小編給大家分享一下如何解決Java中HashMap與String字符串互轉的問題,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

背景:

當我們有需求將HashMap轉為Json格式的String時,切記不要使用HashMap的toString()方法,需要使用FastJson/Gson將HashMap轉為String。如果使用toString()方法進行轉換時,是無法將字符串再轉為HashMap的。它只會出現序列化報錯:

如何解決Java中HashMap與String字符串互轉的問題

demo代碼:

        HashMap<String, String> dataMap = new HashMap<>(4);
        dataMap.put("key1", "value1");
        dataMap.put("key2", "value2");
        dataMap.put("key3", "value3");
        dataMap.put("key4", "value4");

        String byToString = dataMap.toString();
        String byJSONString = JSON.toJSONString(dataMap);
        System.out.println(byToString);
        System.out.println(byJSONString);

        HashMap<String ,String> hashMap = JSON.parseObject(byJSONString, HashMap.class);
        HashMap<String ,String> hashMap2 = JSON.parseObject(byToString, HashMap.class);

log:

{key1=value1, key2=value2, key3=value3, key4=value4}
{"key1":"value1","key2":"value2","key3":"value3","key4":"value4"}

如何解決Java中HashMap與String字符串互轉的問題

再往下執行,通過Debug可見:

如何解決Java中HashMap與String字符串互轉的問題

通過FastJson轉換成String的方式可以再將String轉為HashMap,但是通過toString轉換會報錯序列化問題。

原因:

HashMap toString源碼:

如何解決Java中HashMap與String字符串互轉的問題

HashMap重寫了基類的toString方法,原理是通過for循環的方式將key與value之間用=連接后輸出,顯然這樣并不是一個Json串的格式。

JSON.toJSONString(Object object)源碼:

如何解決Java中HashMap與String字符串互轉的問題

FastJson通過toJSONString方法可以將Object對象轉為Json格式的字符串,反之,可以通過序列化/反序列化的方式將Json字符串轉化為原對象。

看完了這篇文章,相信你對“如何解決Java中HashMap與String字符串互轉的問題”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东港市| 如皋市| 保康县| 杂多县| 皮山县| 堆龙德庆县| 鲁甸县| 文成县| 拉萨市| 延寿县| 抚宁县| 邛崃市| 家居| 兖州市| 龙泉市| 西畴县| 灵丘县| 商河县| 平罗县| 涞水县| 凤阳县| 灵宝市| 华容县| 中方县| 民县| 贡嘎县| 鹤庆县| 美姑县| 富平县| 贵港市| 新泰市| 中阳县| 墨竹工卡县| 彰化县| 会昌县| 安平县| 丹江口市| 东乌珠穆沁旗| 峨边| 颍上县| 红河县|