JavaScript - 我们可以在cookie中设置javascript对象吗?

时间:2012-04-12 07:12:36

标签: javascript cookies

我正在尝试将一个javascript对象放在Cookies中,但不知何故它将被转换为String对象。我们有什么方法可以在JavaScript中设置对象吗?

4 个答案:

答案 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字符串。