在上一篇对Web Storage的介绍中,可以看到,使用Storage保存key—value对时,key、value只能是字符串,这对于简单的数据来说已经够了,但是如果需要保存更复杂的数据,比如保存类似于表记录的数据,那该怎么办呢?

下面提供一种解决方式,

按如下步骤来存储结构化的数据

1)把结构化数据封装成JSON对象

2)把JSON对象转化为字符串再进行保存

按如下步骤来读取结构化的数据

1)读取JSON格式的字符串

2)把JSON格式的字符串转化为JSON对象

3)通过JSON对象的属性来提取数据

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title></head><body><h2>客户端留言板</h2>留言标题:<input id="title" name="title" type="text" size="60" /><br />留言内容:<textarea id="content" name="content" cols="50" rows="8"></textarea><br />留言人:<input id="user" name="user" type="text" /><br /><input type="button" value="添加留言" onclick="addMsg()" /><input type="button" value="删除留言" onclick="clearMsg()" /><hr /><table style="width: 550px;"><tr><th>留言标题</th><th>留言内容</th><th>留言用户</th><th>留言时间</th></tr><tbody id="show"></tbody></table><script type="text/javascript">var loadMsg = function(){var tb = document.getElementById("show");tb.innerHTML="";for (var i=0;i<localStorage.length;i++){var key = localStorage.key(i);var date= new Date();date.setTime(key);var datestr = date.toLocaleDateString()+" "+date.toLocaleTimeString();var msgStr = localStorage.getItem(key);//把留言字符串转换为JavaScript对象var msg = JSON.parse(msgStr);var row = tb.insertRow(i);row.insertCell(0).innerHTML = value;row.insertCell(1).innerHTML = datestr;}}var addMsg = function(){var titleElement = document.getElementById("title").value;var contentElement = document.getElementById("content").value;var userElement = document.getElementById("user").value;//将留言标题、留言内容、留言用户封装成对象var msg={title:titleElement,content:contentElement,user:userElement}var time = new Date().getTime();//以当前时间为key来保存留言信息
              localStorage.setItem(time,JSON.stringify(msg));titleElement.value = "";content.value = "";userElement.value = "";alert("保存数据");loadMsg();}function clearMsg(){localStorage.clear();alert("全部留言信息已被清除");loadMsg();}window.onload = loadMsg();</script></body>
</html>

上面代码中加粗的代码就是保存结构化数据的关键代码。

转载于:https://www.cnblogs.com/sMKing/p/5976346.html

H5中使用Web Storage来存储结构化数据相关推荐

  1. 按一行一行的方法将一个文本文件复制到另一个文件中_大文件上的结构化数据计算示例...

    [摘要] 本文分析大文件计算的实现原理,如过滤.聚合计算.添加计算列.排序.分组聚合.topN 等,以及利用并行计算来提高计算速度,并用 esProc SPL 举例说明如何用简洁的脚本实现大文件计算. ...

  2. 非结构化数据的存储与查询

    当今信息化时代充斥着大量的数据.海量数据存储是一个必然的趋势.然而数据如何的存储和查询,尤其是当今非结构化数据的快速增长,对其数据的存储,处理,查询.使得如今的 关系数据库存储带来了巨大的挑战.分布存 ...

  3. 技术20期:结构化数据与非结构化数据:有什么区别?

    查看结构化和非结构化数据.它们的主要区别以及哪种形式最能满足您的业务需求. 并非所有数据都是平等的.有些数据是结构化的,但大部分是非结构化的.结构化和非结构化数据以不同的方式获取.收集和扩展,并且每一 ...

  4. 谷歌三大论文中文版之一:Bigtable:一个分布式的结构化数据存储系统

    修正了alex翻译版的几个欠妥之处 Bigtable:一个分布式的结构化数据存储系统 摘要 Bigtable是一个管理结构化数据的分布式存储系统,它被设计用来处理海量数据:分布在数千台通用服务器上的P ...

  5. 非结构化数据的相关知识

    一.出现原因 信息社会化时代,各行各业在处理相关业务的过程中,都累计了海量的数据信息,随着IT应用的普及和发展,传统的纸质资料存储方式在不断缩减,更多的采用电子信息的存储方式存放在计算机中.这些信息数 ...

  6. python爬虫工程师 成长之路六(二) 非结构化数据之lxml库

    文章目录 lxml库 介绍 lxml库 使用 最后 lxml库 介绍 lxml是一个使用python编写的库,处理XML非常方便,另外还支持XPath,(上篇博客的XPath派上用处了XPath 基础 ...

  7. 知识抽取学习笔记:面向非结构化数据的抽取

    1概念 知识抽取,即从不同来源.不同结构的数据中进行知识提取,形成知识(结构化数据)存入到知识图谱.大体的任务分类与对应技术如下图所示: 2知识抽取的技术与难点 从结构化数据库中获取知识:D2R 难点 ...

  8. 【艺赛旗RPA流程开发课堂】如何使用结构化数据拾取

    了解RPA: www.i-search.com.cn 学习流程挖掘 https://www.i-search.com.cn/product/rpm/ 本篇文章主要给大家介绍iS-RPA设计器中组合型功 ...

  9. SEO基础:什么是结构化数据?

    您可能听说过结构化数据,Schema.org和JSON-LD.但这些术语到底意味着什么呢?什么是结构化数据?结构化数据有什么作用?它与SEO有什么关系?对于那些不知道结构化数据是什么的人:这篇文章将告 ...

最新文章

  1. MongoDB 学习笔记四 C#调用MongoDB
  2. myeclipse部署项目后,debug模式启动,总是弹出Class.class文件
  3. linux检测病毒工具,Linux下查杀病毒工具
  4. 就知道调bert,都不知道加个对比学习吗?
  5. 使用xml文件存储数据使用xpath查询
  6. php 多个文件,PHP一个文件显示多个不同页面是什么机制?
  7. pe如何自动加载外置工具_[分享] PE自动检测安装驱动 外置组件[01-17更新]
  8. iapp导入源码使用教程,iapp保存图像代码教程
  9. android怎么实现记住密码功能,Android App“记住密码”功能的实现逻辑
  10. NVIDIA Game Ready 显卡驱动517.48发布!为《守望先锋2》做好游戏准备
  11. web第三课html课堂笔记
  12. wps画 ui 原型图
  13. 面试时英语自我介绍范文
  14. xdoj 字符串部分复制 233237
  15. 宝山区助行业强主体稳增长若干政策措施的实施细则(20条)(征求意见稿)
  16. Chrome谷歌浏览器,清除css或js文件缓存的方法
  17. iOS客户端的title不显示解决方案
  18. 2021水利水电安全员模拟考试多选题库及答案
  19. 一周刷爆LeetCode,算法da神左神(左程云)耗时100天打造算法与数据结构基础到高级全家桶教程,直击BTAJ等一线大厂必问算法面试题真题详解 笔记
  20. cad老是弹出命令中发生异常_CAD出现致命错误的解决方法

热门文章

  1. GO语言教程2:使用VS code进行go语言的编写和运行
  2. html5 比例尺,高德地图API之缩放比例尺控件+3D转换
  3. burp 调试_Burp插件分享及编译简学Wildcard+
  4. 女朋友求爱c语言程序,[转载]一个程序员写的求爱程序
  5. 散列表(Hash Table)
  6. jenkins+docker部署java项目
  7. 华为明年发布鸿蒙系统手机,华为鸿蒙系统2.0正式发布,明年将运用在手机上
  8. Linux如何配置Swap分区
  9. MySQL慢查询日志分析(二)
  10. iOS开发笔记--UIView中的坐标转换