1:
JSON(JavaScriptObject Notation)一種簡單的數(shù)據(jù)格式,比xml更輕巧。JSON是JavaScript原生格式,這意味著在JavaScript中處理JSON數(shù)據(jù)不需要任何特殊的API或工具包。
JSON的規(guī)則很簡單:對象是一個無序的“‘名稱/值'對”集合。一個對象以“{”(左括號)開始,“}”(右括號)結束。每個“名稱”后跟一個“:”(冒號);“‘名稱/值'對”之間使用“,”(逗號)分隔。
JSON用冒號(而不是等號)來賦值。每一條賦值語句用逗號分開。整個對象用大括號封裝起來??捎么罄ㄌ柗旨壡短讛?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會把一個字符串當作它的參數(shù)。然后這個字符串會被當作 JavaScript 代碼來執(zhí)行。因為 JSON 的字符串就是由 JavaScript 代碼構成的,所以它本身是可執(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被存儲在responseText屬性中
var object=eval("("+result+")"); //讀取responseText中的json數(shù)據(jù)
var name= object.person.name; //讀取json對象中存儲的數(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=""; //防止重復的添加字符串
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>