1:
JSON(JavaScriptObject Notation)一種簡單的數(shù)據(jù)格式,比xml更輕巧。JSON是JavaScript原生格式,這意味著在JavaScript中處理JSON數(shù)據(jù)不需要任何特殊的API或工具包。
JSON的規(guī)則很簡單:對(duì)象是一個(gè)無序的“‘名稱/值'對(duì)”集合。一個(gè)對(duì)象以“{”(左括號(hào))開始,“}”(右括號(hào))結(jié)束。每個(gè)“名稱”后跟一個(gè)“:”(冒號(hào));“‘名稱/值'對(duì)”之間使用“,”(逗號(hào))分隔。
JSON用冒號(hào)(而不是等號(hào))來賦值。每一條賦值語句用逗號(hào)分開。整個(gè)對(duì)象用大括號(hào)封裝起來??捎么罄ㄌ?hào)分級(jí)嵌套數(shù)據(jù)。
對(duì)象描述中存儲(chǔ)的數(shù)據(jù)可以是字符串,數(shù)字或者布爾值。對(duì)象描述也可存儲(chǔ)函數(shù),那就是對(duì)象的方法。
<span style="font-size:18px;">{"person": { "name":"Andy Budd", "website":"http://andybudd.com/", "email":"andy@clearleft.com" } }</span>
JSON 只是一種文本字符串。它被存儲(chǔ)在responseText 屬性中
為了讀取存儲(chǔ)在 responseText 屬性中的JSON 數(shù)據(jù),需要根據(jù)JavaScript 的eval語句。函數(shù) eval會(huì)把一個(gè)字符串當(dāng)作它的參數(shù)。然后這個(gè)字符串會(huì)被當(dāng)作 JavaScript 代碼來執(zhí)行。因?yàn)?JSON 的字符串就是由 JavaScript 代碼構(gòu)成的,所以它本身是可執(zhí)行的
2:案例
<%@ page language="java" pageEncoding="UTF-8"%> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>People at Clearleft</title> <style type="text/css"> @import url("clearleft.css"); </style> <script type="text/javascript"> window.onload=function(){ var aNodes=document.getElementsByTagName("a"); for(var i = 0;i < aNodes.length; i++){ aNodes[i].onclick=function(){ var request=new XMLHttpRequest(); var url=this.href; var method="GET"; request.open(method,url); request.send(null); request.onreadystatechange=function(){ if(request.readyState==4){ if(request.status==200||request==304){ var result=request.responseText; //json被存儲(chǔ)在responseText屬性中 var object=eval("("+result+")"); //讀取responseText中的json數(shù)據(jù) var name= object.person.name; //讀取json對(duì)象中存儲(chǔ)的數(shù)據(jù) var website= object.person.website; var email= object.person.email; var aNode=document.createElement("a"); aNode.appendChild(document.createTextNode(name+":"+"email"+":"+website)); aNode.href="mailTo"+"email"+",website"; var h2Node=document.createElement("h2"); h2Node.appendChild(aNode); var dtails=document.getElementById("details"); details.innerHTML=""; //防止重復(fù)的添加字符串 dtails.appendChild(h2Node); } } } return false; } } }; </script> </head> <body> <h1> People </h1> <ul> <li> <a href="files/andy.js">Andy</a> </li> <li> <a href="files/richard.js">Richard</a> </li> <li> <a href="files/jeremy.js">Jeremy</a> </li> </ul> <div id="details"></div> </body> </html>
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com