JSON是一種簡單的數(shù)據(jù)格式,比xml更輕巧。其規(guī)則很簡單,對象是一個(gè)無序的名稱/值對集合,下面有個(gè)案例,大家可以感受下
1:
JSON(JavaScriptObject Notation)一種簡單的數(shù)據(jù)格式,比xml更輕巧。JSON是JavaScript原生格式,這意味著在JavaScript中處理JSON數(shù)據(jù)不需要任何特殊的API或工具包。
JSON的規(guī)則很簡單:對象是一個(gè)無序的“‘名稱/值'對”集合。一個(gè)對象以“{”(左括號)開始,“}”(右括號)結(jié)束。每個(gè)“名稱”后跟一個(gè)“:”(冒號);“‘名稱/值'對”之間使用“,”(逗號)分隔。
JSON用冒號(而不是等號)來賦值。每一條賦值語句用逗號分開。整個(gè)對象用大括號封裝起來??捎么罄ㄌ柗旨壡短讛?shù)據(jù)。
對象描述中存儲的數(shù)據(jù)可以是字符串,數(shù)字或者布爾值。對象描述也可存儲函數(shù),那就是對象的方法。
<span style="font-size:18px;">{"person": {
"name":"Andy Budd",
"website":"http://andybudd.com/",
"email":"andy@clearleft.com"
}
}</span>
JSON 只是一種文本字符串。它被存儲在responseText 屬性中
為了讀取存儲在 responseText 屬性中的JSON 數(shù)據(jù),需要根據(jù)JavaScript 的eval語句。函數(shù) eval會把一個(gè)字符串當(dāng)作它的參數(shù)。然后這個(gè)字符串會被當(dāng)作 JavaScript 代碼來執(zhí)行。因?yàn)?JSON 的字符串就是由 JavaScript 代碼構(gòu)成的,所以它本身是可執(zhí)行的
2:案例
<%@ page language=
"java"
pageEncoding=
"UTF-8"
%>
<%@ page language=
"java"
pageEncoding=
"UTF-8"
%>
02
<html xmlns=
"
 xml:lang= "en" lang= "en" >   03 <head>   04 <meta http-equiv= "content-type" content= "text/html; charset=utf-8" />   05 <title>People at Clearleft</title>   06 <style type= "text/css" >   07 url( "clearleft.css" );   08 </style>   09 <script type= "text/javascript" >   10 window.onload=function(){   11 var aNodes=document.getElementsByTagName( "a" );   12   13 for (var i =  0 ;i < aNodes.length; i++){   14   15 aNodes[i].onclick=function(){   16 var request= new XMLHttpRequest();   17 var url= this .href;   18 var method= "GET" ;   19 request.open(method,url);   20 request.send( null );   21 request.onreadystatechange=function(){   22 if (request.readyState== 4 ){   23 if (request.status== 200 ||request== 304 ){   24 var result=request.responseText;  //json被存儲在responseText屬性中   25 var object=eval( "(" +result+ ")" );  //讀取responseText中的json數(shù)據(jù)   26 var name= object.person.name;  //讀取json對象中存儲的數(shù)據(jù)   27 var website= object.person.website;   28 var email= object.person.email;   29 var aNode=document.createElement( "a" );   30 aNode.appendChild(document.createTextNode(name+ ":" + "email" + ":" +website));   31 aNode.href= "mailTo" + "email" + ",website" ;   32 var h2Node=document.createElement( "h2" );   33 h2Node.appendChild(aNode);   34 var dtails=document.getElementById( "details" );   35 details.innerHTML= "" ;  //防止重復(fù)的添加字符串   36 dtails.appendChild(h2Node);   37 }   38 }   39 }   40 return false ;   41 }   42 }   43 };   44 </script>   45 </head>   46 <body>   47 <h1>   48 People   49 </h1>   50 <ul>   51 <li>   52 <a href= "files/andy.js" >Andy</a>   53 </li>   54 <li>   55 <a href= "files/richard.js" >Richard</a>   56 </li>   57 <li>   58 <a href= "files/jeremy.js" >Jeremy</a>   59 </li>   60 </ul>   61 <div id= "details" ></div>   62 </body>   63 </html> 更多信息請查看IT技術(shù)專欄
版權(quán)所有:易賢網(wǎng)