在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 globalStorage类代码
Jun 04 Javascript
javascript数组快速打乱重排的方法
Jan 02 Javascript
angularjs 处理多个异步请求方法汇总
Jan 06 Javascript
JavaScript获取元素尺寸和大小操作总结
Feb 27 Javascript
jQuery实现鼠标经过提示信息的地图热点效果
Apr 26 Javascript
实例解析jQuery中proxy()函数的用法
May 24 Javascript
jqPlot jQuery绘图插件的使用
Jun 18 Javascript
如何使用Bootstrap 按钮实例详解
Mar 29 Javascript
jQuery实现滚动到底部时自动加载更多的方法示例
Feb 18 jQuery
微信小程序使用form表单获取输入框数据的实例代码
May 17 Javascript
使用vue.js在页面内组件监听scroll事件的方法
Sep 11 Javascript
vue 实现购物车总价计算
Nov 06 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 显示客户端IP与服务器IP的代码
2010/10/12 PHP
推荐一款MAC OS X 下php集成开发环境mamp
2014/11/08 PHP
Smarty变量用法详解
2016/05/11 PHP
php从数据库中读取特定的行(实例)
2017/06/02 PHP
PHP开发的微信现金红包功能示例
2017/06/29 PHP
Javascript 生成指定范围数值随机数
2009/01/09 Javascript
javascript 三种编解码方式
2010/02/01 Javascript
在Javascript里访问SharePoint列表数据的实现方法
2011/05/22 Javascript
用JQuery 判断某个属性是否存在hasAttr的解决方法
2013/04/26 Javascript
javascript中如何处理引号编码"
2013/08/15 Javascript
跟我学习javascript的函数调用和构造函数调用
2015/11/16 Javascript
js实现滚动条滚动到页面底部继续加载
2015/12/19 Javascript
js+css实现select的美化效果
2016/03/24 Javascript
jQuery使用getJSON方法获取json数据完整示例
2016/09/13 Javascript
JavaScript箭头(arrow)函数详解
2017/06/04 Javascript
JavaScript反弹动画效果的实现代码
2017/07/13 Javascript
JavaScript你不知道的一些数组方法
2017/08/18 Javascript
VUE + UEditor 单图片跨域上传功能的实现方法
2018/02/08 Javascript
layer弹出层全屏及关闭方法
2018/08/17 Javascript
详解element-ui 表单校验 Rules 配置 常用黑科技
2020/07/11 Javascript
JS中循环遍历数组的四种方式总结
2021/01/23 Javascript
理解python正则表达式
2016/01/15 Python
python dataframe常见操作方法:实现取行、列、切片、统计特征值
2018/06/09 Python
python生成lmdb格式的文件实例
2018/11/08 Python
Python Selenium 之数据驱动测试的实现
2019/08/01 Python
python 可视化库PyG2Plot的使用
2021/01/21 Python
Origins悦木之源英国官网:雅诗兰黛集团高端植物护肤品牌
2017/11/06 全球购物
英国排名第一的在线宠物用品商店:Monster Pet Supplies
2018/05/20 全球购物
建筑装饰学院室内设计专业个人自我评价
2013/12/07 职场文书
党员干部廉洁承诺书
2014/05/28 职场文书
施工安全员岗位职责
2015/04/11 职场文书
开场白怎么写
2015/06/01 职场文书
行为规范主题班会
2015/08/13 职场文书
法制教育讲座心得体会
2016/01/14 职场文书
Python源码解析之List
2021/05/21 Python
Apache SkyWalking 监控 MySQL Server 实战解析
2022/09/23 Servers