HTML5 利用json对象来存取复杂数据

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

 HTML5中可以用json对象来存取一组相关的对象,以下是个例子,我们收集一组用户输入信息,然后创建一个Object来囊括这些信息,之后用一个json字符串来表示这个Object,然后把json字符串存放在localStorage中。

之后,我们让用户检索名称,用名称为key去问localStorage取得对应的json字符串,然后解析json字符串到Object对象,吧相关信息依次从这个Object对象中提取出来,然后构造HTML文本,最后输出在指定位置:

 

HTML代码:

 


  
  
  1. <!DOCTYPE html> 
  2. <head> 
  3. <meta charset="UTF-8"> 
  4. <title>HTML5 存取复杂数据到json对象DEMO</title> 
  5. <script type="text/javascript" src="js/objectStorage.js"></script> 
  6. </head> 
  7.  
  8. <body> 
  9.  
  10. <h3>使用HTML5存储复杂数据到json对象</h3> 
  11.  
  12. <h4>填写一组相关信息到表格中</h4> 
  13. <table> 
  14.     <tr><td>姓名:</td><td><input type="text" id="name"></td></tr> 
  15.     <tr><td>邮箱地址:</td><td><input type="text" id="email"></td></tr> 
  16.     <tr><td>电话号码:</td><td><input type="text" id="phone"></td></tr> 
  17.     <tr><td></td><td><input type="button" value="保存" onclick="saveStorage();"></td></tr> 
  18. </table> 
  19.  
  20. <hr> 
  21. <h4> 这里将会获取已经存入localStorage的json对象,并且解析成原始信息并且展示</h4> 
  22. <p> 
  23. <input type="text" id="find"> 
  24. <input type="button" value="检索" onclick="findStorage('msg');"> 
  25. </p> 
  26. <!-- 下面这块用于显示被检索到的信息文本 --> 
  27. <p id ="msg"></p> 
  28. </body> 

javascript包含2个函数,一个是存数据,一个是取数据:


  
  
  1. /** 
  2.  *  This file is confidential by Charles.Wang 
  3.  *  Copyright belongs to Charles.wang 
  4.  *  You can make contact with Charles.Wang (charles_wang888@126.com) 
  5.  */ 
  6.   
  7.  //存一组关联数据到json对象,再把json对象存放到localStorage中 
  8.  function saveStorage(){ 
  9.      
  10.     //创建一个js对象,用于存放当前从表单获得的数据 
  11.     var data = new Object; 
  12.     //吧这对象的属性名依次和从用户输入的属性值关联起来 
  13.     data.name=document.getElementById("name").value; 
  14.     data.email=document.getElementById("email").value; 
  15.     data.phone=document.getElementById("phone").value; 
  16.     //创建一个json对象,让其对应刚才创建的对象的字符串数据形式 
  17.     var str = JSON.stringify(data); 
  18.     //吧json对象存放到localStorage上,key为用户输入的用户名,value为这个json字符串 
  19.     localStorage.setItem(data.name,str); 
  20.     console.log("数据已经保存! 被保存的用户名为: "+data.name); 
  21.  } 
  22.   
  23.  //从localStorage按照用户输入的检索名称为key,得到对应的json字符串,然后把json字符串解析为一组信息, 并且打印到指定位置 
  24.  function findStorage(id){ 
  25.     //获得用户的输入,是用户希望检索的名字 
  26.     var requiredPersonName = document.getElementById("find").value; 
  27.     //以这个检索的名字为key,来查找localStorage,得到了json字符串 
  28.     var str=localStorage.getItem(requiredPersonName); 
  29.     //解析这个json字符串得到Object对象 
  30.     var data= JSON.parse(str); 
  31.     //从Object对象中分离出相关属性值,然后构造要输出的HTML内容 
  32.     var result="姓名:"+data.name+'<br>'
  33.     result+="电子邮箱:"+data.email+'<br>'
  34.     result+="电话号码:"+data.phone+'<br>'
  35.     //取得页面上要输出的容器 
  36.     var target = document.getElementById(id); 
  37.     //用刚才创建的HTML内容来填充这个容器 
  38.     target.innerHTML = result; 
  39.  } 

 

演示:

刚开始,我们设法构造多组信息,然后依次存放到localStorage中,如图(从控制台我们可以看到,我们录入了4组数据):

 

然后我们进行检索,比如我们输入“王帅哥”,那么和'王帅哥“相关的信息就会展示在下面:





本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/855204,如需转载请自行联系原作者

目录
相关文章
|
1天前
|
JSON 前端开发 搜索推荐
关于商品详情 API 接口 JSON 格式返回数据解析的示例
本文介绍商品详情API接口返回的JSON数据解析。最外层为`product`对象,包含商品基本信息(如id、name、price)、分类信息(category)、图片(images)、属性(attributes)、用户评价(reviews)、库存(stock)和卖家信息(seller)。每个字段详细描述了商品的不同方面,帮助开发者准确提取和展示数据。具体结构和字段含义需结合实际业务需求和API文档理解。
|
26天前
|
数据采集 前端开发 数据挖掘
利用 html_table 函数轻松获取网页中的表格数据
本文介绍了如何使用 R 语言中的 `html_table` 函数结合代理 IP 技术,轻松提取网页表格数据并规避反爬机制。通过设置代理和请求头,示例代码展示了如何从 58 同城采集租房信息并保存为 CSV 文件。该方法适用于需要频繁采集数据的场景,确保数据采集的高效和稳定性。
利用 html_table 函数轻松获取网页中的表格数据
|
3月前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
2月前
|
JSON API 数据安全/隐私保护
拍立淘按图搜索API接口返回数据的JSON格式示例
拍立淘按图搜索API接口允许用户通过上传图片来搜索相似的商品,该接口返回的通常是一个JSON格式的响应,其中包含了与上传图片相似的商品信息。以下是一个基于淘宝平台的拍立淘按图搜索API接口返回数据的JSON格式示例,同时提供对其关键字段的解释
|
2月前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
2月前
|
JSON 缓存 前端开发
PHP如何高效地处理JSON数据:从编码到解码
在现代Web开发中,JSON已成为数据交换的标准格式。本文探讨了PHP如何高效处理JSON数据,包括编码和解码的过程。通过简化数据结构、使用优化选项、缓存机制及合理设置解码参数等方法,可以显著提升JSON处理的性能,确保系统快速稳定运行。
|
2月前
|
JavaScript API 开发工具
<大厂实战场景> ~ Flutter&鸿蒙next 解析后端返回的 HTML 数据详解
本文介绍了如何在 Flutter 中解析后端返回的 HTML 数据。首先解释了 HTML 解析的概念,然后详细介绍了使用 `http` 和 `html` 库的步骤,包括添加依赖、获取 HTML 数据、解析 HTML 内容和在 Flutter UI 中显示解析结果。通过具体的代码示例,展示了如何从 URL 获取 HTML 并提取特定信息,如链接列表。希望本文能帮助你在 Flutter 应用中更好地处理 HTML 数据。
145 1
|
3月前
|
JSON JavaScript Java
在Java中处理JSON数据:Jackson与Gson库比较
本文介绍了JSON数据交换格式及其在Java中的应用,重点探讨了两个强大的JSON处理库——Jackson和Gson。文章详细讲解了Jackson库的核心功能,包括数据绑定、流式API和树模型,并通过示例演示了如何使用Jackson进行JSON解析和生成。最后,作者分享了一些实用的代码片段和使用技巧,帮助读者更好地理解和应用这些工具。
234 0
在Java中处理JSON数据:Jackson与Gson库比较
|
3月前
|
JSON API 数据格式
商品详情数据JSON格式示例参考(api接口)
JSON数据格式的商品详情数据通常包含商品的多个层级信息,以下是一个综合多个来源信息的JSON数据格式的商品详情数据示例参考:
|
3月前
|
存储 JSON 前端开发
JSON与现代Web开发:数据交互的最佳选择
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也便于机器解析和生成。它以文本格式存储数据,常用于Web应用中的数据传输,尤其是在客户端和服务器之间。
108 0