在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 相关文章推荐
用Mootools获得操作索引的两种方法分享
Dec 12 Javascript
JS+flash实现chrome和ie浏览器下同时可以复制粘贴
Sep 22 Javascript
js控制表单不能输入空格的小例子
Nov 20 Javascript
jquery新的绑定事件机制on方法的使用方法
Apr 15 Javascript
浅谈利用JavaScript进行的DDoS攻击原理与防御
Jun 04 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
May 05 Javascript
JavaScript实现经典排序算法之选择排序
Dec 28 Javascript
原生JS实现Ajax跨域请求flask响应内容
Oct 24 Javascript
浅谈使用React.setState需要注意的三点
Dec 18 Javascript
seajs和requirejs模块化简单案例分析
Aug 26 Javascript
微信小程序scroll-view不能左右滑动问题的解决方法
Jul 09 Javascript
JS开发前端团队展示控制器来为成员引流
Aug 14 Javascript
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
IIS7.X配置PHP运行环境小结
2011/06/09 PHP
PHP实现时间轴函数代码
2011/10/08 PHP
PHP读取txt文件的内容并赋值给数组的代码
2011/11/03 PHP
php实现插入数组但不影响原有顺序的方法
2015/03/27 PHP
PHP生成plist数据的方法
2015/06/16 PHP
Yii2中SqlDataProvider用法示例
2016/09/22 PHP
IE、FF浏览器下修改标签透明度
2014/01/28 Javascript
Jquery在指定DIV加载HTML示例代码
2014/02/17 Javascript
使用jQuery在移动页面上添加按钮和给按钮添加图标
2015/12/04 Javascript
jQuery+ajax简单实现文件上传的方法
2016/06/03 Javascript
AngularJS的依赖注入实例分析(使用module和injector)
2017/01/19 Javascript
JS+DIV实现的卷帘效果示例
2017/03/22 Javascript
AngularJs+Bootstrap实现漂亮的计算器
2017/08/10 Javascript
jquery+php后台实现省市区联动功能示例
2019/05/23 jQuery
node实现mock-plugin中间件的方法
2019/12/25 Javascript
vue中父子组件的参数传递和应用示例
2021/01/04 Vue.js
从零学Python之入门(三)序列
2014/05/25 Python
Python的Flask框架中Flask-Admin库的简单入门指引
2015/04/07 Python
使用Python内置的模块与函数进行不同进制的数的转换
2016/03/12 Python
Python 3中print函数的使用方法总结
2017/08/08 Python
详解Django之auth模块(用户认证)
2018/04/17 Python
Python使用Pickle模块进行数据保存和读取的讲解
2019/04/09 Python
python 弧度与角度互转实例
2020/04/15 Python
Python实现列表中非负数保留,负数转化为指定的数值方式
2020/06/04 Python
利用python中的matplotlib打印混淆矩阵实例
2020/06/16 Python
Python趣味入门教程之循环语句while
2020/08/26 Python
利用CSS3实现进度条的两种姿势详解
2017/03/21 HTML / CSS
Java中采用什么结构来捕获、处理异常?各子句的顺序、功能如何
2013/10/07 面试题
国际贸易专业个人职业生涯规划
2014/02/15 职场文书
超市开学活动方案
2014/03/01 职场文书
授权委托书怎么写
2014/04/03 职场文书
奥巴马当选演讲稿
2014/09/10 职场文书
党员对照检查材料思想汇报(党的群众路线)
2014/09/24 职场文书
自我推荐信格式模板
2015/03/24 职场文书
浅谈哪个Python库才最适合做数据可视化
2021/06/28 Python
Redis中key的过期删除策略和内存淘汰机制
2022/04/12 Redis