在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 相关文章推荐
利用javascript中的call实现继承
Jan 22 Javascript
jQuery UI AutoComplete 自动完成使用小记
Aug 21 Javascript
jQuery操作input type=radio的实现代码
Jun 14 Javascript
js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?
Nov 18 Javascript
ES6新数据结构Set与WeakSet用法分析
Mar 31 Javascript
详解vue-cil和webpack中本地静态图片的路径问题解决方案
Sep 27 Javascript
seaJs使用心得之exports与module.exports的区别实例分析
Oct 13 Javascript
Vue服务器渲染Nuxt学习笔记
Jan 31 Javascript
jQuery实现的简单对话框拖动功能示例
Jun 05 jQuery
vue+springboot实现项目的CORS跨域请求
Sep 05 Javascript
浅谈Webpack核心模块tapable解析
Sep 11 Javascript
vuejs+element UI点击编辑表格某一行时获取内容填入表单的示例
Oct 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
PHP array操作10个小技巧分享
2011/06/23 PHP
PHP实现的简单三角形、矩形周长面积计算器分享
2014/11/18 PHP
获取非最后一列td值并将title设为该值的方法
2013/10/30 Javascript
使用jQuery快速解决input中placeholder值在ie中无法支持的问题
2014/01/02 Javascript
项目实践一图片上传之form表单还是base64前端图片压缩(前端图片压缩)
2016/07/28 Javascript
JS创建对象的写法示例
2016/11/04 Javascript
深入学习Bootstrap表单
2016/12/13 Javascript
使用jQuery ajaxupload插件实现无刷新上传文件
2017/04/23 jQuery
浅谈struts1 & jquery form 文件异步上传
2017/05/25 jQuery
JS实现匀加速与匀减速运动的方法示例
2017/09/04 Javascript
vue.js中npm安装教程图解
2018/04/10 Javascript
详解VUE中常用的几种import(模块、文件)引入方式
2018/07/03 Javascript
快速解决vue-cli在ie9+中无效的问题
2018/09/04 Javascript
jQuery each和js forEach用法比较
2019/02/27 jQuery
js类的继承定义与用法分析
2019/06/21 Javascript
jQuery删除/清空指定元素的所有子节点实例代码
2019/07/04 jQuery
更强大的vue ssr实现预取数据的方式
2019/07/19 Javascript
bootstrap实现tab选项卡切换
2020/08/09 Javascript
pandas DataFrame实现几列数据合并成为新的一列方法
2018/06/08 Python
Python 获取中文字拼音首个字母的方法
2018/11/28 Python
python 字典套字典或列表的示例
2019/12/16 Python
python编写一个会算账的脚本的示例代码
2020/06/02 Python
python多线程和多进程关系详解
2020/12/14 Python
可以随进度显示不同颜色的css3进度条分享
2014/04/11 HTML / CSS
amazeui时间组件的实现示例
2020/08/18 HTML / CSS
关于赌博的检讨书
2014/01/24 职场文书
2014年大学生党课心得体会范文
2014/03/29 职场文书
幼儿园安全责任书
2014/04/14 职场文书
预备党员公开承诺书
2014/05/28 职场文书
防邪知识进家庭活动方案
2014/08/26 职场文书
初中毕业典礼演讲稿
2014/09/09 职场文书
村委会贫困证明范文
2014/09/21 职场文书
支教个人总结
2015/03/04 职场文书
应届毕业生求职信范文
2015/03/19 职场文书
Python 实现定积分与二重定积分的操作
2021/05/26 Python
船舶调度指挥系统——助力智慧海事
2022/02/18 无线电