在HTML5 localStorage中存储对象的示例代码


Posted in Javascript onApril 21, 2021

我想在HTML5中存储一个JavaScript对象localStorage,但是我的对象显然正在转换为字符串。

我可以使用来存储和检索原始JavaScript类型和数组localStorage,但是对象似乎无法正常工作。应该吗

这是我的代码:

var testObject = { 'one': 1, 'two': 2, 'three': 3 };
console.log('typeof testObject: ' + typeof testObject);
console.log('testObject properties:');
for (var prop in testObject) {
    console.log('  ' + prop + ': ' + testObject[prop]);
}

// Put the object into storage
localStorage.setItem('testObject', testObject);

// Retrieve the object from storage
var retrievedObject = localStorage.getItem('testObject');

console.log('typeof retrievedObject: ' + typeof retrievedObject);
console.log('Value of retrievedObject: ' + retrievedObject);

控制台输出为

typeof testObject: object
testObject properties:
  one: 1
  two: 2
  three: 3
typeof retrievedObject: string
Value of retrievedObject: [object Object]

在我看来,该setItem方法是在存储输入之前将输入转换为字符串。

解决方案:

再次查看Apple,Mozilla和Mozilla文档,该功能似乎仅限于处理字符串键/值对。

一种解决方法是在存储对象之前先对它进行字符串化处理,然后在检索它时对其进行解析:

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 = localStorage.getItem('testObject');

console.log('retrievedObject: ', JSON.parse(retrievedObject));

到此这篇关于在HTML5 localStorage中存储对象的文章就介绍到这了,更多相关HTML5 localStorage存储对象内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

 
Javascript 相关文章推荐
js对象的构造和继承实现代码
Dec 05 Javascript
javascript单引号和双引号的区别和处理
May 14 Javascript
jQuery给元素添加样式的方法详解
Dec 30 Javascript
Svg.js实例教程及使用手册详解(一)
May 16 Javascript
详解Node.js模块间共享数据库连接的方法
May 24 Javascript
微信小程序 Video API实例详解
Oct 02 Javascript
Vue.js 2.0 和 React、Augular等其他前端框架大比拼
Oct 08 Javascript
详解微信小程序 页面跳转 传递参数
Dec 08 Javascript
Bootstrap modal使用及点击外部不消失的解决方法
Dec 13 Javascript
Vue.js实现图片的随意拖动方法
Mar 08 Javascript
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
Apr 02 Javascript
Vue Element plus使用方法梳理
Dec 24 Vue.js
canvas多重阴影发光效果实现
JavaScript+HTML实现学生信息管理系统
浅谈vue2的$refs在vue3组合式API中的替代方法
JS实现简单控制视频播放倍速的实例代码
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
使用PDF.js渲染canvas实现预览pdf的效果示例
Apr 17 #Javascript
详解如何在Canvas中添加事件的方法
Apr 17 #Javascript
You might like
php实现无限级分类
2014/12/24 PHP
php封装的图片(缩略图)处理类完整实例
2016/10/19 PHP
JavaScript 无符号右移运算符
2009/04/17 Javascript
jquery multiSelect 多选下拉框
2010/07/09 Javascript
xml文档转换工具,附图表例子(hta)
2010/11/17 Javascript
jQuery阻止冒泡和HTML默认操作
2010/11/17 Javascript
最佳JS代码编写的14条技巧
2011/01/09 Javascript
jQuery Ajax 仿AjaxPro.Utility.RegisterTypeForAjax辅助方法
2011/09/27 Javascript
javascript实现图片切换的幻灯片效果源代码
2012/12/12 Javascript
基于mouseout和mouseover等类似事件的冒泡问题解决方法
2013/11/18 Javascript
javascript读写json示例
2014/04/11 Javascript
实现前后端数据交互方法汇总
2015/04/07 Javascript
jQuery图片渐变特效的简单实现
2016/06/25 Javascript
JS根据生日月份和日期计算星座的简单实现方法
2016/11/24 Javascript
jQuery 1.9版本以上的浏览器判断方法代码分享
2017/08/28 jQuery
解决angularjs中同步执行http请求的方法
2018/08/13 Javascript
使用mpvue搭建一个初始小程序及项目配置方法
2018/12/03 Javascript
JavaScript的Proxy可以做哪些有意思的事儿
2019/06/15 Javascript
vue-router二级导航切换路由及高亮显示的实现方法
2019/07/10 Javascript
同时安装Python2 & Python3 cmd下版本自由选择的方法
2017/12/09 Python
Python设计模式之工厂模式简单示例
2018/01/09 Python
Windows 64位下python3安装nltk模块
2018/09/19 Python
python 实现一个反向单位矩阵示例
2019/11/29 Python
Python函数式编程实例详解
2020/01/17 Python
python 画图 图例自由定义方式
2020/04/17 Python
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
2020/12/08 Python
利用python实现后端写网页(flask框架)
2021/02/28 Python
视图的作用
2014/12/19 面试题
《草原》教学反思
2014/02/15 职场文书
客服专员岗位职责
2014/02/28 职场文书
2014年行政助理工作总结
2014/11/19 职场文书
2016年学校招生广告语
2016/01/28 职场文书
超市啤酒狂欢夜策划方案范文!
2019/07/03 职场文书
利用ajax+php实现商品价格计算
2021/03/31 PHP
vscode中使用npm安装babel的方法
2021/08/02 Javascript
C#连接ORACLE出现乱码问题的解决方法
2021/10/05 Oracle