JSON輕量級的資料交換格式

JSON是什麼?輕量級的資料交換格式基本介紹|天矽科技網頁設計

JSON是什麼?輕量級的資料交換格式基本介紹|天矽科技網頁設計

 

JSON(JavaScript Object Notation),它是一種輕量級的資料交換格式,能使資料更加容易地交換,以純文字為基礎,用來儲存和傳送簡單的資料,讓人容易撰寫及閱讀。我們常常可以在網站、API與資料庫中,看到這個資料傳輸的格式。

JSON是什麼


 JSON全名為 JavaScript Object Notation,是一種輕量級的資料交換格式,它是以 JavaScript 為基礎設計的語法,是JavaScript的子集,跟XML有點類似,但JSON更加簡潔、輕量。

 JSON 是用來表示 JavaScript 物件的格式,JSON能使資料更加容易地交換,以純文字為基礎,用來儲存和傳送簡單的資料,讓人容易撰寫及閱讀(因為它就是個純文字檔);它可獨立使用,也可以讓程式設計環境讀取、剖析並產生JSON,並且幾乎所有與網路開發相關的語言都會有JSON函式庫

JSON的基本資料類型包含:數值、字串、布林值、陣列、物件與空值。


JSON的優點在於…

  • 相容性高
  • 比XML要更加簡潔、輕量,資料體積小
  • 格式容易撰寫、閱讀及修改
  • 支援多種資料格式
  • 支援多種程式語言
  • 支援多數程式函式庫的讀取與修改JSON資料

JSON是什麼

JSON的應用


 使用JSON作為資料格式的案例非常多,舉幾個常見的例子說明…

 

網站應用

 網站是最常使用JSON的地方,用於網頁程式,讓伺服器端傳送資料給瀏覽器,步驟會是這樣…
 

  1. 使用者在網站中點選了某項產品
  2. 這時 JavaScript 會透過 AJAX 的方式將產品 ID 傳送給伺服器端
  3. 伺服器收到 ID 就會將產品資料編成 JSON 資料、回傳給瀏覽器
  4. JavaScript 收到 JSON 資料,將這筆資料解碼放到網站上
  5. 提供給使用者瀏覽

※ AJAX全名為 Asynchronous JavaScript and XML(非同步JavaScript與XML技術),是一套綜合多項技術的瀏覽器端網頁開發技術。

 

API串接

 目前API的資料串接與傳輸,多使用較為輕量的JSON為主要格式,比如使用API將資料從A端提取至B端,該資料的回應來回就是使用JSON格式

 資料與資料的串聯,需要透過API的串接讓資料可以互相拋接,像是購物網站可以串接第三方刷卡金流API,讓網站開發人員不必了解金流技術,就能讓網站使用者能操作線上刷卡的服務。

 簡單來說,API是AB兩端之間的橋樑,中間的資料傳輸就是利用JSON裝箱運送過橋的,若以交通來比喻,API就是橋墩、高速公路或橋梁,XML就是乘載貨物的車輛,裝載著以純文字檔為基礎的資料。

JSON是什麼

 

NoSQL資料庫

 相較於傳統型的關聯式資料庫,某些文件儲存的非關聯式資料庫NoSQL,會選擇使用JSON作為它的資料儲存格式,比如RavenDB、MongoDB、CouchDB…等。

 

JSON與XML


 在很多時候,我們都會將 JSON 拿來跟 XML 來比較,原因是相較於 XML 的繁瑣,JSON 格式更加的輕巧且檔案容量較小,尤其是在資料傳輸時,較小的資料在傳輸速度上一定會比較快,像 API 串接的資料傳輸格式,在過去都是使用 XML,但現今時代多已將其取代為 JSON 格式。

 JSON與XML最大的不同,在於XML是一個完整的「標記語言」,但JSON不是,它是一種資料交換的格式,所以XML在程式判讀上就會需要花費比較多的功夫與時間

 雖然在資料的傳輸方面,JSON格式取代了XML,提供傳輸上更多的便利,但是 JSON 卻沒有 XML 來的一目瞭然,尤其是 JSON 資料很長的時候,就會讓人陷入繁瑣且複雜的資料,並在其中尋找節點,因此兩者雖然常常拿來比較,但仍有各自的優缺點。

  • XML:
    利用標記語言的特性,提供絕佳的延展性,在資料儲存、擴充及進階檢索方面,比JSON有更強的優勢。

  • JSON:
    支援瀏覽器內建的快速解析,比XML更加輕巧,也更適合在網路資料傳輸的領域上使用。
     

延伸閱讀:
XML是什麼?可延伸標記式語言基本介紹

 

資料參考:
小惡魔AppleBOY|你不可不知的 JSON 基本介紹
維基百科|JSON
甚麼是JSON?使用JSON比XML有甚麼優勝之處和實際應用?

 

share FB LINE
看天矽作品集 回上一頁
ID:@323foylw