JSON: JavaScript Object Notation(JavaScript 對(duì)象表示法)
JSON 是存儲(chǔ)和交換文本信息的語(yǔ)法。類似 XML。
JSON 比 XML 更小、更快,更易解析。
這個(gè) employee 對(duì)象是包含 3 個(gè)員工記錄(對(duì)象)的數(shù)組。
JSON 使用 Javascript語(yǔ)法來(lái)描述數(shù)據(jù)對(duì)象,但是 JSON 仍然獨(dú)立于語(yǔ)言和平臺(tái)。JSON 解析器和 JSON 庫(kù)支持許多不同的編程語(yǔ)言。 目前非常多的動(dòng)態(tài)(PHP,JSP,.NET)編程語(yǔ)言都支持JSON。
JSON 文本格式在語(yǔ)法上與創(chuàng)建 JavaScript 對(duì)象的代碼相同。
由于這種相似性,無(wú)需解析器,JavaScript 程序能夠使用內(nèi)建的 eval() 函數(shù),用 JSON 數(shù)據(jù)來(lái)生成原生的 JavaScript 對(duì)象。
JSON 或者 JavaScript 對(duì)象表示法是一種輕量級(jí)的基于文本的開放標(biāo)準(zhǔn),被設(shè)計(jì)用于可讀的數(shù)據(jù)交換。約定使用 JSON 的程序包括 C,C++,Java,Python,Perl 等等。
鑒于書籍?dāng)?shù)據(jù)有語(yǔ)言和版本信息,下面的例子展示了使用 JSON 存儲(chǔ)書籍信息:
{
"book": [
{
"id":"01",
"language": "Java",
"edition": "third",
"author": "Herbert Schildt"
},
{
"id":"07",
"language": "C++",
"edition": "second"
"author": "E.Balagurusamy"
}]
}
理解上述程序之后我們來(lái)看另外一個(gè)例子,讓我們把下面的代碼保存為 json.htm:
<html>
<head>
<title>JSON example</title>
<script language="javascript" >
var object1 = { "language" : "Java", "author" : "herbert schildt" };
document.write("<h1>JSON with JavaScript example</h1>");
document.write("<br>");
document.write("<h3>Language = " + object1.language+"</h3>");
document.write("<h3>Author = " + object1.author+"</h3>");
var object2 = { "language" : "C++", "author" : "E-Balagurusamy" };
document.write("<br>");
document.write("<h3>Language = " + object2.language+"</h3>");
document.write("<h3>Author = " + object2.author+"</h3>");
document.write("<hr />");
document.write(object2.language + " programming language can be studied " +
"from book written by " + object2.author);
document.write("<hr />");
</script>
</head>
<body>
</body>
</html>
現(xiàn)在嘗試使用 IE 或者其他任何啟用了 JavaScript 的瀏覽器打開這個(gè)頁(yè)面,它會(huì)生成如下所示結(jié)果:
你可以參考 JSON 對(duì)象 來(lái)了解更多關(guān)于 JSON 對(duì)象的信息。