在開始深入了解JSON知識之前,讓我們先了解什么是JSON!
JSON的全稱是:JavaScript Object Notation(JavaScript 對象表示法)。
是一種存儲和交換文本信息的語法,類似 XML。
JSON 比 XML 更小、更快,更易解析。
JSON實例:
{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
這個 JSON 表示一個employee 數(shù)組對象,其中包含 3 條員工記錄(對象)。
在良好的JSON格式中,JSON還擁有更易于閱讀的特性(相較于XML)。
雖然JSON最開始是基于JavaScript的對象進(jìn)行設(shè)計的,但因為JSON是用于前后端交互的,而后端語言有很多不同的種類,所以很多語言都支持JSON的解析,JSON已經(jīng)獨立于JavaScript,成為一種通用的描述數(shù)據(jù)的格式了。雖然JSON在很多方面都優(yōu)于XML,但XML在某些方面是不可替代的(比如SVG)。
總結(jié)一下:
把任何 JavaScript 對象變成 JSON,就是把這個對象序列化成一個 JSON 格式的字符串,這樣才能夠通過網(wǎng)絡(luò)傳遞給其他計算機。
JSON 使用 Javascript 語法來描述數(shù)據(jù)對象,但是 JSON 仍然獨立于語言和平臺。JSON 解析器和 JSON 庫支持許多不同的編程語言。 目前非常多的動態(tài)(PHP,JSP,.NET)編程語言都支持JSON。
JSON 文本格式在語法上與創(chuàng)建 JavaScript 對象的代碼相同。
由于這種相似性,無需解析器,JavaScript 程序能夠使用內(nèi)建的 eval() 函數(shù),用 JSON 數(shù)據(jù)來生成原生的 JavaScript 對象。
JSON 或者 JavaScript 對象表示法是一種輕量級的基于文本的開放標(biāo)準(zhǔn),被設(shè)計用于可讀的數(shù)據(jù)交換。約定使用 JSON 的程序包括 C,C++,Java,Python,Perl 等等。
鑒于書籍?dāng)?shù)據(jù)有語言和版本信息,下面的例子展示了使用 JSON 存儲書籍信息:
{
"book": [
{
"id":"01",
"language": "Java",
"edition": "third",
"author": "Herbert Schildt"
},
{
"id":"07",
"language": "C++",
"edition": "second",
"author": "E.Balagurusamy"
}]
}
理解上述程序之后我們來看另外一個例子,讓我們把下面的代碼保存為 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 的瀏覽器打開這個頁面,它會生成如下所示結(jié)果:
你可以參考 JSON 對象 來了解更多關(guān)于 JSON 對象的信息。
更多建議: