hashmap转json字符串,object转hashmap
00-1010背景:原因:
00-1010当我们需要将HashMap转换成Json格式的字符串时,切记不要使用HashMap的toString()方法,而是使用FastJson/Gson将HashMap转换成String。如果使用toString()方法进行转换,就不能将字符串转换成HashMap。它只会得到一个序列化错误:
演示代码:
HashMapString,String data map=new HashMap(4);dataMap.put(key1 , value 1 );dataMap.put(key2 , value 2 );dataMap.put(key3 , value 3 );dataMap.put(key4 , value 4 );string by tostring=data map . tostring();string by jsonstring=JSON . tojsonstring(data map);system . out . println(byToString);system . out . println(byJSONString);HashMapString,String hashMap=JSON . parse object(byJSONString,hashMap . class);HashMapString,String hashmap 2=JSON . parse object(byToString,hashmap . class);日志:
{ key1=值1,key2=值2,key3=值3,key4=值4}{key1: 值1 , key2: 值2 , key3: 值3 , key4: 值4}
再往下,可以通过Debug看到:
通过将FastJson转换为Tostring可以将String转换为HashMap,但是toString转换会报告错误的序列化问题。
目录
HashMap toString源代码:
HashMap重写基类的toString方法。原理是通过一个for循环用=连接键和值,然后输出。显然,这不是Json字符串格式。
JSON.toJSONString(Object对象)源代码:
FastJson可以通过toJsonString方法将Object对象转换为Json格式的字符串,反过来,也可以通过序列化/反序列化将Json字符串转换为原对象。
关于Java中HashMap和String String之间转换问题的解决,本文到此为止。关于HashMap和String string之间转换的更多信息,请搜索Popular IT之前的文章或者继续浏览下面的相关文章。我希望你以后能更多地支持流行音乐!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。