W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
在開始深入了解JSON知識(shí)之前,讓我們先了解什么是JSON!
JSON的全稱是:JavaScript Object Notation(JavaScript 對(duì)象表示法)。
是一種存儲(chǔ)和交換文本信息的語(yǔ)法,類似 XML。
JSON 比 XML 更小、更快,更易解析。
JSON實(shí)例:
{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
這個(gè) JSON 表示一個(gè)employee 數(shù)組對(duì)象,其中包含 3 條員工記錄(對(duì)象)。
在良好的JSON格式中,JSON還擁有更易于閱讀的特性(相較于XML)。
雖然JSON最開始是基于JavaScript的對(duì)象進(jìn)行設(shè)計(jì)的,但因?yàn)镴SON是用于前后端交互的,而后端語(yǔ)言有很多不同的種類,所以很多語(yǔ)言都支持JSON的解析,JSON已經(jīng)獨(dú)立于JavaScript,成為一種通用的描述數(shù)據(jù)的格式了。雖然JSON在很多方面都優(yōu)于XML,但XML在某些方面是不可替代的(比如SVG)。
總結(jié)一下:
把任何 JavaScript 對(duì)象變成 JSON,就是把這個(gè)對(duì)象序列化成一個(gè) JSON 格式的字符串,這樣才能夠通過網(wǎng)絡(luò)傳遞給其他計(jì)算機(jī)。
JSON 使用 Javascript 語(yǔ)法來描述數(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ì)象的代碼相同。
由于這種相似性,無需解析器,JavaScript 程序能夠使用內(nèi)建的 eval() 函數(shù),用 JSON 數(shù)據(jù)來生成原生的 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"
}]
}
理解上述程序之后我們來看另外一個(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ì)象 來了解更多關(guān)于 JSON 對(duì)象的信息。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: