您好,登錄后才能下訂單哦!
這篇文章主要介紹“Java中怎么實現HashMap與String字符串轉換”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Java中怎么實現HashMap與String字符串轉換”文章能幫助大家解決問題。
當我們有需求將HashMap轉為Json格式的String時,切記不要使用HashMap的toString()方法,需要使用FastJson/Gson將HashMap轉為String。如果使用toString()方法進行轉換時,是無法將字符串再轉為HashMap的。它只會出現序列化報錯:
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"}
再往下執行,通過Debug可見:
通過FastJson轉換成String的方式可以再將String轉為HashMap,但是通過toString轉換會報錯序列化問題。
HashMap toString源碼:
HashMap重寫了基類的toString方法,原理是通過for循環的方式將key與value之間用=連接后輸出,顯然這樣并不是一個Json串的格式。
JSON.toJSONString(Object object)源碼:
FastJson通過toJSONString方法可以將Object對象轉為Json格式的字符串,反之,可以通過序列化/反序列化的方式將Json字符串轉化為原對象。
關于“Java中怎么實現HashMap與String字符串轉換”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。