2014-04-24 55 views
0

在Spring控制器:返回地图值作为JSON字符串无法迭代在JSP转换为JSON字符串HashMap中

地图keyTTLMap = getRedisCacheTTLvalues(filterPattern);

JSONObject jsonObject = new JSONObject(); jsonObject.put(“cacheTTLmap”,keyTTLMap);

return jsonObject.toString();

在JSP AJAX调用:

var json = xmlhttp.responseText; 

for (var i = 0; i < json.cacheTTLmap.length; i++) { 
    var obj = json.cacheTTLmap[i]; 
    for (var key in obj) { 
    name = key; 
    value = obj[key].toString(); 
    alert("Name "+name +" value "+value); 
} 
} 

JSON字符串值:

{ “cacheTTLmap”: { “产品1”:81213,
“产品2”:79936 }}

当它ry运行我的JSP,我的JSON字符串不能被迭代。是否有任何简单的方法来在AJAX中显示HashMap,请帮助我。谢谢!

回答

1
var json = '[{"userId" : "123123", "password": "fafafa", "age": "21"}, {"userId" : 
"321321", "password" : "nana123", "age" : "34"}]'; 

var list = JSON.parse(json); 
var output = {}; 

for(var i=0; i<list.length; i++) 
{ 
    for(var key in list[i]) 
    { 
     if(list[i].hasOwnProperty(key)) 
     { 
      if(typeof output[key] == 'undefined') 
      { 
       output[key] = []; 
      } 
      output[key].push(list[i][key]); 
     } 
    } 
} 

document.write(JSON.stringify(output)); 
+0

谢谢你的工作。 :) –