Html5 Json應用

来源:http://www.cnblogs.com/hsiang/archive/2016/12/11/6161073.html
-Advertisement-
Play Games

本文主要說明Json的基本概念,和一個在Html中使用Json給元素賦值的小例子,屬於基礎性信息 什麼是 JSON ? JSON 指的是 JavaScript 對象表示法(JavaScript Object Notation) JSON 是輕量級的文本數據交換格式 JSON 獨立於語言 * 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>
View Code

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1029 遍歷問題 1029 遍歷問題 時間限制: 1 s 空間限制: 128000 KB 題目等級 : 鑽石 Diamond 1029 遍歷問題 1029 遍歷問題 時間限制: 1 s 空間限制: 128000 KB 題目等級 : 鑽石 Diamond 時間限制: 1 s 空間限制: 128000 ...
  • os:mac, django1.9.5, python3.5 database:mysql 0.背景 django內置的database如下: 要註意的是無論選擇使用哪個資料庫伺服器,都必須下載和安裝對應的資料庫適配器 1.安裝 我們選擇mysql作為資料庫伺服器 因為MySQLdb並不支持Pyth ...
  • Problem 1 - Time Limit : 1s Memory Limit : 512M Code Limit : 128KDescription我們定義階乘N!=1×2×3×...×N,並且0!=1。現在我們想知道對於N!的階乘結尾總共有多少個0。Input一行一個整數N。Output0的個 ...
  • ...
  • 實現多態的前提 1。 要有繼承 2。 要有方法重寫,沒有也可以,但是沒有的話 就沒有意義 3。 要有父類引用 指向子類對象 如: 父類 f=new 子類(); * 多態中的成員訪問特點 * A, 成員變數 編譯看左邊, 運行看左邊 * B, 構造方法 創建子類對象的時候,,訪問 父類的構造方法, 對 ...
  • 推薦大家可以看看這個:http://wenku.baidu.com/link?url=RQU2exzV_EF3GATc3bzQU2o9LGMuCmiN5nUJth5SLG3E2TrxtBLQodJU_kZgfJjd9ljtR5XhZlHdzoHJ6kLeAF4uC9dttM1sNer60lg09gS ...
  • 功能強大的 jQuery 表單驗證插件,適用於日常的 E-mail、電話號碼、網址等驗證及 Ajax 驗證,除自身擁有豐富的驗證規則外,還可以添加自定義的驗證規則。 相容 IE 6+, Chrome, Firefox, Safari, Opera 10+ 版本: jQuery v1.7+ jQuer ...
  • CSS不像其它高級語言一樣支持算術運算、變數、流程式控制制與面向對象特性,所以CSS樣式較多時會引起一些問題,如修改複雜,冗餘,某些別的語言很簡單的功能實現不了等。而javascript則是一種半面向對象的動態語言,有java的影子,有C的味道,中間有比其它語言多的糟粕,使用預處理辦法可以解決這些問題。 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...