Html5 Json应用

本文主要说明Json的基本概念,和一个在Html中使用Json给元素赋值的小例子,属于基础性信息

什么是 JSON ?

  • JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
  • JSON 是轻量级的文本数据交换格式
  • JSON 独立于语言 *
  • JSON 具有自我描述性,更易理解

* JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。

相比 XML 的不同之处

  • 没有结束标签
  • 更短
  • 读写的速度更快
  • 能够使用内建的 JavaScript eval() 方法进行解析
  • 使用数组
  • 不使用保留字

为什么使用 JSON?

对于 AJAX 应用程序来说,JSON 比 XML 更快更易使用

JSON 语法规则

JSON 语法是 JavaScript 对象表示法语法的子集。

  • 数据在名称/值对中
  • 数据由逗号分隔
  • 花括号保存对象
  • 方括号保存数组

JSON 值

JSON 值可以是:

  • 数字(整数或浮点数)
  • 字符串(在双引号中)
  • 逻辑值(true 或 false)
  • 数组(在方括号中)
  • 对象(在花括号中)
  • null

JSON 文件

  • JSON 文件的文件类型是 ".json"
  • JSON 文本的 MIME 类型是 "application/json"

---------------------------------------------------------------------------------------------------------

在Html5中使用Json,将Json中的内容给元素赋值,其中涉及CSS样式,JavaScript脚本。具体如下图所示:

具体不多解释,代码如下:

  1 <!DOCTYPE html>
  2 <html>
  3 <head>
  4     <title>The eightth page</title>
  5     <style type="text/css">
  6         #group
  7         {
  8             width:400px;
  9             padding:20px;
 10             margin:20px;
 11         }
 12         input
 13         {
 14             margin-left: 10px;
 15             height: 20px;
 16         }
 17         div
 18         {
 19             margin-top: 10px;
 20             height: 20px;
 21         }
 22         .t0
 23         {
 24             vertical-align: middle;
 25         }
 26         input[type="checkbox"]
 27         {
 28             vertical-align: middle;
 29         }
 30         input[type="radio"]
 31         {
 32             vertical-align: middle;
 33         }
 34         .t
 35         {
 36             height: 20px;
 37             width: 60px;
 38             line-height: 20px;
 39             display: block;
 40             float: left;
 41         }
 42     </style>
 43     <script type="text/javascript">
 44         window.onload = function () {
 45             var txt = {
 46                 "fname": "Alan",
 47                 "fage": 20,
 48                 "flove": ["song", "run", "jump"],
 49                 "fplay": { "basketball": "basketball" },
 50                 "fold": true,
 51                 "fwife": null
 52             };
 53             var obj = eval(txt);
 54             //给文本框复制
 55             document.getElementById("fname").value = obj.fname;
 56             document.getElementById("fage").value = obj.fage;
 57             //给复选框复制
 58             var objLove = obj.flove;
 59             var objElements = document.getElementsByName("flove");
 60             for (var i = 0; i < objLove.length; i++) {
 61                 for (var j = 0; j < objElements.length; j++) {
 62                     if (objLove[i] == objElements[j].value) {
 63                         objElements[j].checked = "checked";
 64                         break;
 65                     }
 66                 }
 67             }
 68             //给单选框复制
 69             var objPlay = obj.fplay;
 70             var objPlayElements = document.getElementsByName("fplay");
 71             for (var i = 0; i < objPlayElements.length; i++) {
 72                 if (objPlayElements[i].value == objPlay.basketball) {
 73                     objPlayElements[i].checked = "checked";
 74                     break;
 75                 }
 76             }
 77             //给文本框复制
 78             var old = obj.fold;
 79             if (old) {
 80                 document.getElementById("fold").value = "very old";
 81             } else {
 82                 document.getElementById("fold").value = "no old";
 83             }
 84             if (obj.fwife == null) {
 85                 document.getElementById("fwife").value = "No wife";
 86             } else {
 87                 document.getElementById("fwife").value = obj.fwife.ToString();
 88             }
 89         }
 90     </script>
 91 </head>
 92 <body>
 93     <header>
 94         <h1>信息录入</h1>
 95     </header>
 96     <form name="myForm" id="myForm" action="#" method="post" >
 97     <fieldset id="group">
 98     <legend id="group1">Information</legend>
 99     <div>
100         <label class="t"> Name:</label>
101         <input type="text" id="fname" />
102     </div>
103     <div>
104         <label class="t"> Age:</label><input type="number" id="fage" />
105     </div>
106     <div>
107         <label class="t"> Love:</label>
108         <input type="checkbox" id="chkSong" value="song" name="flove" />
109         <label class="t0">Song</label>
110         <input type="checkbox" id="chkRun" value="run" name="flove" />
111         <label class="t0">Run</label>
112         <input type="checkbox" id="chkJum" value="jump" name="flove" />
113         <label class="t0">Jump</label></div>
114     <div>
115         <label class="t"> Play:</label>
116         <input type="radio" id="rbFball" value="football" name="fplay" />
117         <label class="t0"> FootBall </label>
118         <input type="radio" id="tbBall" value="basketball" name="fplay" />
119         <label class="t0">BasketBall</label>
120     </div>
121     <div>
122         <label class="t"> Old:</label>
123         <input type="text" id="fold" />
124     </div>
125     <div>
126         <label class="t">Wife:</label>
127         <input type="text" id="fwife" />
128     </div>
129     <div>
130         <label class="t">DateTime:</label>
131         <input type="date"  id="fdatetime" value="目前IE11还不支持datetime类型" />
132     </div>
133     <div>
134         <label class="t">Color:</label>
135         <input type="color"  id="fcolor" value="目前IE11还不支持color类型" />
136     </div>
137     <div>
138         <label class="t">Car:</label>
139         <input type="text"  id="Color1" list="cars" />
140         <datalist id="cars">
141             <option value="Bus" />
142             <option value="Jeep" />
143             <option value="Bench" />
144             <option value="BaoMa" />
145         </datalist>
146     </div>
147     <div>
148     <input type="submit" value="Submit" id="fsubmit" />
149     <input type="reset" value="Reset" id="freset" />
150     </div>
151     </fieldset>
152     </form>
153 </body>
154 </html>

时间: 2024-08-02 15:10:39

Html5 Json应用的相关文章

HTML5——JSON的新方法

JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式.它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据.简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率. JSON键值对是用来保存 JS 对象的一种方式,和 JS 对象的写法也大同小异,键/值对组合中的键名写在前面并用双引号 "" 包

html5 json的新用法

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <script> /* eval的用法 var otr='function show(){alert(123)}'; eval(otr); show();*/ /* parse的用法 严格json格式*/ /* var str=

静态库和动态库详解

1.什么是库,为什么使用库? 库是共享程序代码的方式,一般分为静态库和动态库:库实现了iOS程序的模块化,将某些特定的功能模块化为库的格式方便分享和使用! 2.静态库和动态库有什么特点? 异同点: 静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝. 动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序可以共用,节省内存. 共同点: 静态库和动态库都是闭源库,只能拿来满足某个功能的使用,不会暴露内部具体的代码信息,而从github上下载的第三

localStorage存值取值以及存取JSON,以及基于html5 localStorage的购物车

http://blog.csdn.net/u013267266/article/details/51530611 localStorage.setItem("key","value");//存储变量名为key,值为value的变量 localStorage.key = "value"//存储变量名为key,值为value的变量 localStorage.getItem("key");//获取存储的变量key的值www.it16

HTML5开发——轻量级JSON存储解决方案Lawnchair.js

Lawnchair是一个轻量级的移动应用程序数据持久化存储方案,同时也是客户端JSON文档存储方法,优点是短小,语法简洁,扩展性比较好. 现在做HTML5移动应用除了LocalStorage的兼容性比较好之外,SQL web database以及IndexedDB都处在僵局中,虽然有人叫嚣着“我们应该干掉 LocalStorage API”,但那是后话,现在也没得选择. Lawnchair有个曾经的官网:http://westcoastlogic.com/lawnchair/,不过这个站点提供的

HTML5实现本地JSON文件的读写

参考: 使用HTML5来实现本地文件读取和写入  (FileReader读取json文件,FileSaver.js保存json文件) w3school <input>标签 FileReader WebAPI接口 FileSaver.js下载地址 FileSaver.js介绍 JS创建.写入.读取本地文件(txt)   (ActiveXObject 这玩意根本不能用,IE10 和 Chrome都试了) HTML 5中的文件处理之File Writer API  (FileSaver和FileWr

基于JSON数据HTML5视频播放器js插件教程

一.安装 可以通过Bower来安装该视频播放器插件. bower install frame-player 在页面中引入frameplayer.css和frameplayer.js文件. <link rel="stylesheet" href="path-to/frameplayer.css"> <script src="path-to/frameplayer.js"></script> 二.Html结构 在页

HTML5自学笔记[ 5 ]JSON的新方法

eval和JSON.parse的区别:eval:可以解析任何字符串为js:parse:只能解析JSON形式的字符串变为js(更安全). json格式的字符串中的属性名必须加双引号“”. stringify()方法将json对象转换成严格格式的json字符串. 兼容低版本浏览器:在页面中引入json2.js.

HTML5 LocalStorage 本地存储JSON数据

JSON数据存储在本地,需调用JSON.stringify()将其转为字符串.读取出来后调用JSON.parse()将字符串转为json格式.如写入的时候: var json_data = {id:12,name:"yang",email:"[email protected]"}; storage.setItem("json_data",JSON.stringify(json_data)); 读取的时候: var json_data = JSON