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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...