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

JavaScript - Can we set javascript objects in cookies?

本文关键字:JavaScript 设置 对象 我们 cookie      更新时间:2023-09-26

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

您可以使用

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

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

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

此函数会将对象转换为字符串,使用它来字符串化对象,然后添加到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;
}

使用 JSON - JavaScript 对象表示法。这里有一个关于使用 JSON 的好教程。

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