2014-04-24 77 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

謝謝你的工作。 :) –