在工作中遇到这么一个问题,在前端JS把后台传来的Map转成Json时出错,不管是用eval()还是用JSON.parse()都报错,最后发现是Map.toString字符串和Json的字符串格式不相同。
public static void main(String [] args){
Map map = new HashMap();
map.put(111,"one");
map.put(222,"two");
map.put(333,"three");
System.out.println(map);
}
//{222=two, 111=one, 333=three}
1
2
3
4
5
6
7
8
转换代码如下:
//Java Map对象的String字符串转换为Json
function map2Json(mapStr){
var subStr = mapStr.substring(1,mapStr.length-1);
var arr = subStr.split(",");
var newJson = {};
for(var i in arr){
var tmpObj = arr[i].split("=");
newJson[$.trim(tmpObj[0])] = tmpObj[1];
}
return newJson;
}
---------------------
作者:Wayss_S
来源:CSDN
原文:https://blog.csdn.net/qq1332479771/article/details/79426756
版权声明:本文为博主原创文章,转载请附上博文链接!