在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 相关文章推荐
游戏人文件夹程序 ver 4.03
Jul 14 Javascript
js获取指定的cookie的具体实现
Feb 20 Javascript
JS简单实现动画弹出层效果
May 05 Javascript
JQuery鼠标移到小图显示大图效果的方法
Jun 10 Javascript
JavaScript对Cookie进行读写操作实例
Jul 25 Javascript
bootstrap table实例详解
Jan 06 Javascript
详解Vue-cli 创建的项目如何跨域请求
May 18 Javascript
微信小程序学习之数据处理详解
Jul 05 Javascript
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
Mar 06 Javascript
基于js中的存储键值对以及注意事项介绍
Mar 30 Javascript
vue.js内置组件之keep-alive组件使用
Jul 10 Javascript
three.js 如何制作魔方
Jul 31 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
elgg 获取文件图标地址的方法
2010/03/20 PHP
php上传文件中文文件名乱码的解决方法
2013/11/01 PHP
在html文件中也可以执行php语句的方法
2015/04/09 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
2016/12/23 PHP
yii框架redis结合php实现秒杀效果(实例代码)
2017/10/26 PHP
javascript 回调函数详解
2014/11/11 Javascript
javascript DIV实现跟随鼠标移动
2020/03/19 Javascript
JavaScript实现图片滑动切换的代码示例分享
2016/03/06 Javascript
提高Web性能的前端优化技巧总结
2017/02/27 Javascript
JavaScript闭包的简单应用
2017/09/01 Javascript
vue组件发布到npm简单步骤
2017/11/30 Javascript
浅谈vue项目可以从哪些方面进行优化
2018/05/05 Javascript
Vue对象赋值视图不更新问题及解决方法
2019/06/03 Javascript
javascript执行上下文、变量对象实例分析
2020/04/25 Javascript
Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明
2020/08/05 Javascript
vue v-model的用法解析
2020/10/19 Javascript
[46:53]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
sublime text 3配置使用python操作方法
2017/06/11 Python
Python3 中文文件读写方法
2018/01/23 Python
PyCharm代码格式调整方法
2018/05/23 Python
django2用iframe标签完成网页内嵌播放b站视频功能
2018/06/20 Python
用Python shell简化开发
2018/08/08 Python
如何在python中写hive脚本
2019/11/08 Python
python3连接kafka模块pykafka生产者简单封装代码
2019/12/23 Python
Django 自定义404 500等错误页面的实现
2020/03/08 Python
解决keras backend 越跑越慢问题
2020/06/18 Python
Python如何使用ElementTree解析xml
2020/10/12 Python
Jupyter Notebook添加代码自动补全功能的实现
2021/01/07 Python
HTML5学习笔记之History API
2015/02/26 HTML / CSS
彪马西班牙官网:PUMA西班牙
2019/06/18 全球购物
数字天堂软件测试面试题
2012/12/23 面试题
高校学生干部的自我评价分享
2013/11/04 职场文书
考试作弊被抓检讨书
2014/01/10 职场文书
如何判断微信付款码和支付宝付款码
2021/04/01 PHP
详解用Python把PDF转为Word方法总结
2021/04/27 Python
详解SpringBoot异常处理流程及原理
2021/06/21 Java/Android