我正在尝试从本地存储检索用户设置,但是当我尝试访问数据时,我得到一个空值,这会导致出现错误
JSON.parse()
。我怀疑数据可能未存储或已被删除,但我不确定为什么。我该如何解决这个问题,以便即使数据不存在,代码也能正常工作?
我尝试使用
JSON.parse(localStorage.getItem('userSettings'))
从本地存储中检索 JSON 数据。我期望这会返回一个包含用户设置数据的对象。然而,我得到的不是对象,而是 null,并且 JSON.parse()
在尝试解析 null 时会抛出错误。我希望数据能够正确加载,所以我不确定为什么会发生这种情况。
JSON.parse
传递时不会抛出错误 null
。
因此,您很可能以不可解析的方式保存数据。
也许您尝试直接保存对象,在这种情况下,会对其调用
.toString()
方法,将其转换为 [object Object]
,这是不可解析的。
您需要在存储数据之前将其转换为 JSON 字符串。
类似的东西
localStorage.setItem('userSettings', JSON.stringify(userSetting))