无法迭代在JSP中转换为JSON String的HashMap

时间:2014-04-24 01:43:45

标签: json jsp hashmap

播放视频时如何使视频按钮始终显示? 现在按钮只在我们点击视频时出现,请帮帮我 这是我的代码

在Spring Controller中:将Map值作为JSON字符串

返回
Map<String, Long> 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":
    {
        "product1":81213,    
        "product2":79936
    }   
}

当我尝试运行JSP时,我的JSON字符串无法迭代。有没有简单的方法在HashMap中显示AJAX,请帮助我。谢谢!

1 个答案:

答案 0 :(得分: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));