往cookie里存JSON格式的数据 会读取不出来吗 报格式错误
时间: 2023-09-23 12:13:08 浏览: 161
往cookie里存储JSON格式数据是可行的,但是需要注意一些细节。如果您将一个JSON对象直接存储到cookie中,可能会出现格式错误的问题。这是因为cookie只能存储字符串类型的数据,而JSON对象是一个JavaScript对象,需要将其转换为字符串类型后再存储到cookie中。
您可以使用JSON.stringify()方法将JSON对象转换为字符串类型,然后再存储到cookie中。当您需要读取cookie中的数据时,可以使用JSON.parse()方法将字符串类型的数据转换为JSON对象。
以下是一个示例代码:
```javascript
// 存储JSON数据到cookie中
const data = { name: 'John', age: 30 };
document.cookie = `data=${JSON.stringify(data)}`;
// 从cookie中读取JSON数据
const encodedData = document.cookie.replace(/(?:(?:^|.*;\s*)data\s*\=\s*([^;]*).*$)|^.*$/, "$1");
const decodedData = decodeURIComponent(encodedData.replace(/\+/g, ' '));
const jsonData = JSON.parse(decodedData);
console.log(jsonData); // { name: 'John', age: 30 }
```
需要注意的是,cookie的大小有限制,不能存储过大的数据。在存储JSON数据前,您需要先将其转换为字符串,并确保字符串的大小不超过cookie的限制。
阅读全文