setcookie无法正常工作后的json数据

时间:2014-04-13 16:46:26

标签: javascript json cookies

我在将cookie中的json数据存储然后访问它时遇到问题。虽然如果我直接访问json数据而不存储在cookie中它工作正常。但我需要将数据存储在cookie中。

这是我的代码段

var json_file = "excel_json_ip_" + myip + ".json"
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", json_file, false);
xmlHttp.send();

var jsonData = eval(xmlHttp.responseText);
    console.log(jsonData);

此变量jsonData存储:

[Object { impact=0.4, key="NPS_Telstra_NA_NA_NPS-CVA-NPSScore", name="NPS Score", more...}, Object { impact=0.1, key="NPS_Telstra_NA_NA_NPS-CVA-Promoters", name="% Promoters", more...}, Object { impact=0, key="NPS_Telstra_NA_NA_NPS-CVA-Passives", name="% Passives", more...}, Object { impact=-0.9, key="NPS_Telstra_NA_NA_NPS-CVA-Detractors", name="% Detractors", more...}, Object { impact=1, key="NPS_Telstra_NA_NA_NPS-CVA-Reactors", name="% Reactors", more...}, Object { impact=0.5, key="NPS_Telstra_NA_NA_NPS-CVA-XYZ", name="%XYZ", more...}, Object { impact=0.2, key="NPS_Telstra_NA_NA_NPS-CVA-ABC", name="%ABC", more...}, Object { impact=-0.7, key="NPS_Telstra_NA_NA_NPS-CVA-UV", name="%UV", more...}, Object { impact=0.6, key="NPS_Telstra_NA_NA_NPS-CVA-MN", name="%MN", more...}, Object { impact=-0.4, key="NPS_Telstra_NA_NA_NPS-CVA-JKL", name="%JKL", more...}, Object { impact=-0.5, key="NPS_Telstra_Central_Question", name="* Central Question", more...}]

现在如果我直接访问变量jsonData,我的这部分代码运行正常。

jsonData.forEach(function(key) { 
     ####body
 })

但是如果我在cookie中设置变量jsonData值并且访问它,则前面的部分foreach不起作用。

setCookie('jsonData', jsonData, 1); 
console.log(getCookie('jsonData')) 

这是console我得到的:

 [object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

1 个答案:

答案 0 :(得分:0)

最后我得到了解决方案,我应该像这样使用cookie值。

 var jsonDataNew = JSON.stringify(jsonData);
 setCookie('jsonData', jsonDataNew, 1);
 console.log(JSON.parse(getCookie('jsonData'))) 

JSON.parse cookie值为我解决了问题。