如何在 HTML5 LocalStorage/SessionStorage 中存储非字符串
与原始类型和数组相比,将 JavaScript 对象直接存储在 HTML5 存储中结果将它们转换为字符串。此限制一直是争论的话题,导致开发人员感到困惑。
根据 HTML5 Web Storage 规范,setItem() 方法期望键/值对是字符串。要克服此限制,请考虑以下解决方法:
JSON 序列化和反序列化
要将对象存储在 HTML5 存储中,请使用 JSON.stringify 将其转换为 JSON 字符串()。检索后,使用 JSON.parse() 将 JSON 字符串解析回对象。
var testObject = { 'one': 1, 'two': 2, 'three': 3 }; // Put the object into storage localStorage.setItem('testObject', JSON.stringify(testObject)); // Retrieve the object from storage var retrievedObject = JSON.parse(localStorage.getItem('testObject')); console.log('Retrieved object:', retrievedObject);
示例输出:
Retrieved object: { one: 1, two: 2, three: 3 }
通过之前序列化对象存储并在检索后反序列化,您可以有效地在 HTML5 存储中存储和检索 JavaScript 对象。
以上是如何在 HTML5 LocalStorage/SessionStorage 中存储非字符串数据?的详细内容。更多信息请关注PHP中文网其他相关文章!