<?xml encoding="utf-8" ?><html><body><p>当我们有需求将hashmap转为json格式的string时,切记不要使用hashmap的tostring()方法,需要使用fastjson/gson将hashmap转为string。如果使用tostring()方法进行转换时,是无法将字符串再转为hashmap的。它只会出现序列化报错:</p><p><img src="https://img.php.cn/upload/article/000/465/014/168205273980981.png" alt="如何解决Java中HashMap与String字符串互转的问题"></p><p>demo代码:</p><p>log:</p><p><img src="https://img.php.cn/upload/article/000/465/014/168205273928083.png" alt="如何解决Java中HashMap与String字符串互转的问题"></p><p>再往下执行,通过Debug可见:</p><p><img src="https://img.php.cn/upload/article/000/465/014/168205273995495.png" alt="如何解决Java中HashMap与String字符串互转的问题"></p><p>通过FastJson转换成String的方式可以再将String转为HashMap,但是通过toString转换会报错序列化问题。</p><p>HashMap toString源码:</p><p><img src="https://img.php.cn/upload/article/000/465/014/168205273912590.png" alt="如何解决Java中HashMap与String字符串互转的问题"></p><p>HashMap重写了基类的toString方法,原理是通过for循环的方式将key与value之间用=连接后输出,显然这样并不是一个Json串的格式。</p><p>JSON.toJSONString(Object object)源码:</p><p><img src="https://img.php.cn/upload/article/000/465/014/168205274083774.png" alt="如何解决Java中HashMap与String字符串互转的问题"></p><p>FastJson通过toJSONString方法可以将Object对象转为Json格式的字符串,反之,可以通过序列化/反序列化的方式将Json字符串转化为原对象。</p></body></html>
讯享网
Java免费学习笔记:立即学习
讯享网<br>解锁 Java 大师之旅:从入门到精通的终极指南</p></blockquote>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/189675.html