我可以用 cookie 保存 javascript 对象吗?

Can i save a javascript object with cookies?

我一直在从事一个项目,该项目使用对象来维持与用户的对话。但是,如果用户询问的内容不在该对象中。系统会提示用户 "AI" 应该回答什么。问题是我无法保存此对象,因此当用户关闭选项卡或重新加载它时,"AI" 学到的所有内容都会消失。我试过使用 localStorage.setItem('dictionary', JSON.stringify(dictionary))(字典是对象)但是它给了我 "[object Object]"。所以我想知道我是否可以使用 cookie 代替?

您使用的 localstorage 没有问题,您是否提醒对象并看到“[object Object]”?

存储对象后,您需要像这样使用它,

 var dictonaryParsed = JSON.parse(localStorage.getItem('dictionary'));

这将解决您的问题,这是因为 localStorage.setItem() 将使用原型链中的 toString() 方法,您将得到此 [object Object].

这是因为在存储到键值对数据库(localStorage)之前,所有内容都已转换为字符串。

使用 stringify 方法,您正在使用的对象将为 JSON.parse() 方法做好准备,如果不使用,您将得到类似这样的东西 "{"a":10}",因此您需要先解析对象使用它。如果您尝试解析非字符串化对象,您将收到错误消息。