JSON 教程導(dǎo)讀

2023-04-15 16:31 更新

導(dǎo)讀

在開始深入了解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)。


什么是 JSON ?

總結(jié)一下:

  • JSON 指的是 JavaScript 對象表示法(JavaScript Object Notation)
  • JSON 是輕量級文本數(shù)據(jù)交換格式
  • JSON 是基于JavaScript的子集,但很多編程語言都提供了支持,是一種通用的數(shù)據(jù)格式。
  • JSON 具有自我描述性,更易理解

把任何 JavaScript 對象變成 JSON,就是把這個對象序列化成一個 JSON 格式的字符串,這樣才能夠通過網(wǎng)絡(luò)傳遞給其他計算機(jī)。

JSON 使用 Javascript 語法來描述數(shù)據(jù)對象,但是 JSON 仍然獨立于語言和平臺。JSON 解析器和 JSON 庫支持許多不同的編程語言。 目前非常多的動態(tài)(PHP,JSP,.NET)編程語言都支持JSON。


JSON - 轉(zhuǎn)換為 JavaScript 對象

JSON 文本格式在語法上與創(chuàng)建 JavaScript 對象的代碼相同。

由于這種相似性,無需解析器,JavaScript 程序能夠使用內(nèi)建的 eval() 函數(shù),用 JSON 數(shù)據(jù)來生成原生的 JavaScript 對象。

Json簡介

JSON 或者 JavaScript 對象表示法是一種輕量級的基于文本的開放標(biāo)準(zhǔn),被設(shè)計用于可讀的數(shù)據(jù)交換。約定使用 JSON 的程序包括 C,C++,Java,Python,Perl 等等。

  • JSON 是 JavaScript Object Notation 的縮寫。
  • 這個格式由 Douglas Crockford 提出。
  • 被設(shè)計用于可讀的數(shù)據(jù)交換。
  • 它是從 JavaScript 腳本語言中演變而來。
  • 文件名擴(kuò)展是 .json。
  • JSON 的網(wǎng)絡(luò)媒體類型是 application/json。
  • 統(tǒng)一標(biāo)示符類型(Uniform Type Identifier)是 public.json。

JSON 使用范圍

  • 用于編寫基于 JavaScript 應(yīng)用程序,包括瀏覽器擴(kuò)展和網(wǎng)站。
  • JSON 格式可以用于通過網(wǎng)絡(luò)連接序列化和傳輸結(jié)構(gòu)化數(shù)據(jù)。
  • 主要用于在服務(wù)器和 Web 應(yīng)用程序之間傳輸數(shù)據(jù)。
  • Web 服務(wù)和 APIs 可以使用 JSON 格式提供公用數(shù)據(jù)。
  • 還可以用于現(xiàn)代編程語言中。

JSON 特點

  • JSON 容易閱讀和編寫。
  • 它是一種輕量級的基于文本的交換格式。
  • 語言無關(guān)。

JSON 簡單示例

鑒于書籍?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 example demo

你可以參考 JSON 對象 來了解更多關(guān)于 JSON 對象的信息。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號