我正在尝试将一个javascript对象放在Cookies中,但不知何故它将被转换为String对象。我们有什么方法可以在JavaScript中设置对象吗?
答案 0 :(得分:5)
您可以使用JSON.stringify()
将对象转换为JSON字符串并存储它。然后,当您阅读它们时,使用JSON.parse()
另外,使用LocalStorage代替Cookie来存储更大的数据会更好。两个存储字符串,但cookie只有4kb,而LocalStorage大约是5-10MB。
答案 1 :(得分:4)
您可以在保存到Cookie之前将Object转换为JSON,并在从Cookie获取后从JSON转换为Object。
答案 2 :(得分:1)
此函数会将对象转换为字符串,使用它来对对象进行字符串化,然后添加到cookie中。
function JSONToString(Obj){
var outStr ='';
for (var prop in Obj) {
outStr = '{';
if (Obj.hasOwnProperty(prop)) {
if(typeof Obj[prop] == 'object'){
outStr += JSONToString(Obj[prop]);
} else {
outStr += prop + ':' + Obj[prop].toString();
}
}
outStr += '}';
}
return outStr;
}
答案 3 :(得分:0)
使用JSON - JavaScript对象表示法。这是一个不错的tutorial on using JSON。
简而言之:它是将任何对象转换为特殊格式的文本字符串并返回的标准。所以你要在cookie中存储一个JSON字符串。