往session中存储vuex的数据,但是显示Uncaught TypeError: Converting circular structure to JSON
时间: 2023-08-11 08:10:55 浏览: 193
node.js手册中文版
4星 · 用户满意度95%
这个错误是因为你在尝试将一个包含循环引用的对象转换为 JSON 字符串。JSON 格式不支持循环引用,所以 JSON.stringify() 方法无法将其转换成字符串。
如果你想将包含循环引用的对象存储到 session 中,可以使用一个第三方库,比如 `flatted`,它可以将包含循环引用的对象转换成一个可序列化的对象。
安装 `flatted`:
```
npm install flatted
```
使用 `flatted` 序列化和反序列化对象:
```js
import flatted from 'flatted';
// 将包含循环引用的对象转换成字符串并存储到 session 中
const serializedData = flatted.stringify(yourObject);
sessionStorage.setItem('myData', serializedData);
// 从 session 中获取字符串并将其转换成对象
const serializedData = sessionStorage.getItem('myData');
const yourObject = flatted.parse(serializedData);
```
这样就可以将包含循环引用的对象存储到 session 中了。
阅读全文