我一直在从事一个项目,它使用对象来维护与用户的对话。但是,如果用户询问的内容不在此对象中。提示用户应该如何回答"AI“。问题是我无法保存这个对象,所以当用户关闭选项卡或重新加载它时,"AI“学到的所有内容都消失了。我试过使用localStorage.setItem('dictionary', JSON.stringify(dictionary)) (字典是对象),但是它给了我"[object Object]"。所以我想知道我是否可以用饼干代替?
发布于 2015-05-03 11:57:58
当你存储你的对象之后,你需要像这样使用它,
var dictonaryParsed = JSON.parse(localStorage.getItem('dictionary'));这将解决您的问题,这是因为localStorage.setItem()将使用原型链中的toString()方法,您将得到这个[object Object]。
这是因为在存储到键值对数据库(LocalStorage)之前,所有内容都转换为字符串。
对于您正在使用的字符串化方法,对象将为JSON.parse()方法做好准备,如果不使用,您将得到类似于此"{"a":10}"的内容,因此您需要在使用它之前对对象进行解析。如果您试图解析而不是字符串对象,您将得到错误。
发布于 2015-05-03 11:10:52
您使用的本地存储没有问题,您是否警告对象并看到“object对象”?
https://stackoverflow.com/questions/30013089
复制相似问题