2

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

4

4 回答 4

5

您可以使用JSON.stringify()将对象转换为 JSON 字符串并存储它。然后,当您阅读它们时,将字符串转换为 Object 使用JSON.parse()

此外,最好使用LocalStorage而不是 cookie 来存储更大的数据。两者都存储字符串,但 cookie 只有 4kb,而 LocalStorage 大约为 5-10MB。

于 2012-04-12T07:17:49.273 回答
4

您可以在保存到 cookie 之前将 Object 转换为 JSON,并在从 cookie 获取之后从 JSON 转换为 Object。

于 2012-04-12T07:16:51.440 回答
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;
}
于 2012-04-12T07:36:47.013 回答
0

使用 JSON - JavaScript 对象表示法。这是一个很好的使用 JSON 的教程

长话短说:它是将任何对象转换为特殊格式的文本字符串并返回的标准。因此,您将在 cookie 中存储一个 JSON 字符串。

于 2012-04-12T07:15:56.417 回答