在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 相关文章推荐
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(下:动画篇)
Mar 24 Javascript
异步javascript的原理和实现技巧介绍
Nov 08 Javascript
从零学JSON之JSON数据结构
May 19 Javascript
jQuery解析XML与传统JavaScript方法的差别实例分析
Mar 05 Javascript
JavaScript判断IE版本型号
Jul 27 Javascript
详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)
Feb 10 Javascript
javascript获取以及设置光标位置
Feb 16 Javascript
浅谈Vue网络请求之interceptors实际应用
Feb 28 Javascript
Element-ui tree组件自定义节点使用方法代码详解
Sep 17 Javascript
基于vue.js实现分页查询功能
Dec 29 Javascript
详解vue 路由跳转四种方式 (带参数)
Apr 28 Javascript
el-form 多层级表单的实现示例
Sep 10 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
PHP Squid中可缓存的动态网页设计
2008/09/17 PHP
PHP输出两个数字中间有多少个回文数的方法
2015/03/23 PHP
PHP根据session与cookie用户登录状态操作类的代码
2016/05/13 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
js操作时间(年-月-日 时-分-秒 星期几)
2010/06/20 Javascript
node.js WEB开发中图片验证码的实现方法
2014/06/03 Javascript
Javascript核心读书有感之类型、值和变量
2015/02/11 Javascript
jquery ztree实现树的搜索功能
2016/02/25 Javascript
js纯数字逐一停止显示效果的实现代码
2016/03/16 Javascript
JS控制弹出悬浮窗口(一览画面)的实例代码
2016/05/30 Javascript
如何将HTML字符转换为DOM节点并动态添加到文档中详解
2018/08/19 Javascript
用node.js写一个jenkins发版脚本
2019/05/21 Javascript
vue动态子组件的两种实现方式
2019/09/01 Javascript
vue使用prop可以渲染但是打印台报错的解决方式
2019/11/13 Javascript
Python多线程、异步+多进程爬虫实现代码
2016/02/17 Python
用python结合jieba和wordcloud实现词云效果
2017/09/05 Python
深入浅析Python中的yield关键字
2018/01/24 Python
PyQt5每天必学之事件与信号
2018/04/20 Python
用python处理图片实现图像中的像素访问
2018/05/04 Python
python交易记录整合交易类详解
2019/07/03 Python
python生成器推导式用法简单示例
2019/10/08 Python
Python如何优雅获取本机IP方法
2019/11/10 Python
python操作gitlab API过程解析
2019/12/27 Python
python代数式括号有效性检验示例代码
2020/10/04 Python
一文带你了解Python 四种常见基础爬虫方法介绍
2020/12/04 Python
Html5写一个简单的俄罗斯方块小游戏
2019/12/03 HTML / CSS
美国瑜伽服装和装备购物网站:Mukha Yoga
2019/02/22 全球购物
小学生家长寄语
2014/04/02 职场文书
幼儿学前班评语
2014/12/29 职场文书
2015年财政局工作总结
2015/05/21 职场文书
辞职申请书范本
2019/05/20 职场文书
导游词之贵州织金洞
2019/10/12 职场文书
详解MySQL的Seconds_Behind_Master
2021/05/18 MySQL
Python利用folium实现地图可视化
2021/05/23 Python
关于Oracle12C默认用户名system密码不正确的解决方案
2021/10/16 Oracle
Golang解析JSON对象
2022/04/30 Golang