gpt4 book ai didi

javascript - 来自 localStorage 问题的 JSON.parse()

转载 作者:行者123 更新时间:2023-11-28 06:24:06 24 4
gpt4 key购买 nike

我目前正在开发一个小型浏览器游戏,我正在使用 HTML localStorage 来保存一些数据。

问题:我有一个空数组,稍后我将向其中 .push() 一些数据。我将此数组存储在 localStorage 中,但是当我尝试从本地存储中读取时,它不起作用。

Chrome 开发者工具控制台出现以下错误:尝试从 localStorage 解析数据时出现“Uncaught SyntaxError: Unexpected token u”。

这是我正在使用的代码:

var allContracts = [];
localStorage["allContracts"] = JSON.stringify(allContracts);

allContracts = JSON.parse(localStorage["allContracts"]);

还有比这更多的代码,但没有任何代码以任何方式与这些交互。

localStorage 或 JSON 是否存在我不知道的怪癖并导致了这种情况? (我对 JSON 或 localStorage 不太熟悉)我应该以不同的方式做这件事吗?或者我只是错过了一个明显的错误?

提前致谢:)

最佳答案

最好的方法是使用localStorage接口(interface)为您提供的方法。它有 setItem()getItem() 方法,那么为什么不使用它来保证自己的安全呢?

var allContracts = [];
// setter
localStorage.setItem("allContracts", JSON.stringify(allContracts));
//getter
var allContracts = JSON.parse(localStorage.getItem("allContracts"));

通过您的代码,您将使用自己的值覆盖 localStorage 全局对象,因此您失去了功能。

你做这个:

localStorage = [] // transform the default localstorage into an array

你需要这个:

localStorage.setItem(key, value)

更多信息:https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage

关于javascript - 来自 localStorage 问题的 JSON.parse(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35273539/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com