在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中Array 对象相关的几个方法
Dec 22 Javascript
用js实现的抽象CSS圆角效果!!
May 03 Javascript
javascript 实现简单的table排序及table操作练习
Dec 28 Javascript
jQuery判断iframe中元素是否存在的方法
May 11 Javascript
js通过location.search来获取页面传来的参数
Sep 11 Javascript
JQuery动态添加和删除表格行的方法
Mar 09 Javascript
jQuery实现360°全景拖动展示
Mar 18 Javascript
JavaScript中的parse()方法使用简介
Jun 12 Javascript
浅谈JS中String()与 .toString()的区别
Oct 20 Javascript
javascript 取小数点后几位几种方法总结
Aug 02 Javascript
原生JS进行前后端同构
Apr 22 Javascript
js利用拖放实现添加删除
Aug 27 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
Discuz 5.0 中读取纯真IP数据库函数分析
2007/03/16 PHP
php页面消耗内存过大的处理办法
2013/03/18 PHP
PHP.ini安全配置检测工具pcc简单介绍
2015/07/02 PHP
PHP实现通过URL提取根域名
2016/03/31 PHP
php unlink()函数使用教程
2018/07/12 PHP
解决laravel资源加载路径设置的问题
2019/10/14 PHP
基于jQuery的仿flash的广告轮播
2010/11/05 Javascript
JavaScript 计算图片加载数量的代码
2011/01/01 Javascript
NodeJS与Mysql的交互示例代码
2013/08/18 NodeJs
js中精确计算加法和减法示例
2014/03/28 Javascript
多引号嵌套的变量命名的问题
2014/05/09 Javascript
Javascript获取当前时间函数和时间操作小结
2014/10/01 Javascript
jQuery Ajax中的事件详细介绍
2015/04/16 Javascript
AngularJS基础教程之简单介绍
2015/09/27 Javascript
JavaScript瀑布流布局实现代码
2017/05/06 Javascript
Web技术实现移动监测的介绍
2017/09/18 Javascript
vue+element实现批量删除功能的示例
2018/02/28 Javascript
浅探express路由和中间件的实现
2019/09/30 Javascript
原生js+css调节音量滑块
2020/01/15 Javascript
[45:40]Ti4 冒泡赛第二天NEWBEE vs NaVi 1
2014/07/15 DOTA
python将ip地址转换成整数的方法
2015/03/17 Python
Python中的匿名函数使用简介
2015/04/27 Python
Python使用QQ邮箱发送Email的方法实例
2017/02/09 Python
python语言基本语句用法总结
2019/06/11 Python
学习和使用python的13个理由
2019/07/30 Python
python超时重新请求解决方案
2019/10/21 Python
python读取图片颜色值并生成excel像素画的方法实例
2021/02/19 Python
CSS3媒体查询Media Queries基础学习教程
2016/02/29 HTML / CSS
StubHub墨西哥:购买和出售您的门票
2016/09/17 全球购物
纪伊国屋新加坡网上书店:Kinokuniya新加坡
2017/12/29 全球购物
必须要使用游标的SQL语句有那些
2012/05/07 面试题
2014村务公开实施方案
2014/02/25 职场文书
辅导员评语
2014/05/04 职场文书
反腐倡廉演讲稿
2014/05/22 职场文书
PYTHON基于Pyecharts绘制常见的直角坐标系图表
2022/04/28 Python
httpclient调用远程接口的方法
2022/08/14 Java/Android