0

甚麼是JSON?使用JSON比XML有甚麼優勝之處和實際應用?

甚麼是JSON

JSON全寫是JavaScript Object Notation,是一種現在非常流行的資料格式。這種資料格式常會被使用在兩個系統的資料交換上。

以下是JSON資料格式的logo JSON資料格式標誌

JSON資料格式長甚麼樣子

JSON資料內容會使用一種叫Key Value Pair的方式去規劃資料的,而且通常會在資料較多時突顯出它的方便性,以下我們來看看一個簡單的例子:

JSON資料格式例子

這個JSON的firstName和lastName就是Key,其後面的就會是相應的Value。你可以建立一個JSON檔案,副檔案名是.json來儲存它。

JSON支援的資料類型

JSON除文未外,也支援以下幾種資料類型:

  • 字串 (String)
  • 數字 (Numbers)
  • 布林數(Boolean)
  • 陣列(Arrays)
  • 物件(Object)
  • NULL

JSON常見的實際應用

其實各類系統之間的資料交換都可以使用JSON作為指定的資料格式的,例子非常的多,我就先舉其中兩個常見使用JSON的情況

  • API(Application Porgramming Interface)的讀寫
    (如果不知道甚麼是API的話可以看看這篇關於甚麼是API的簡介),例如讀取Facebook個人公開資料、Youtube上的影片資料、取得即時股票價格等等,都會用到JSON作為資料格式規格。 使用API取得當前比特幣即價格 例如以上圖片中,我就用了API取得了當前比特幣即價格你可以看到API回應回來的是JSON格式的。
  • 設定檔 (Config files)
    例如在程序員界中很火的開發VSCode設定檔、npm的package dependency 的設定檔等等 VSCode Plugin設定檔也是使用JSON的 以上圖片顯示的是VSCode其中一個插件Live Sass Compiler的設定檔,也是使用JSON的

使用JSON資料格式有甚麼好處

為甚麼人們現在的程序,手機app,設定檔都喜歡採取JSON格式呢?原因有以下幾個:

#1簡潔易懂

XML和JSON比較

比起早年最火的資料格式XML,從上圖的比較當中,你會看到表達同樣的資料,一看起來使用JSON來表達會明顯清楚得多,他沒有XML那麼多開tag關tag或者開括號關括號,也更容易明白。

#2資料體積小

從上一點的圖中相信你也能看出來,雖然資料同樣是文字,但是JSON文字數量是很小的,也就是說檔案大小也會變小,所以它在傳輸時就可以比較快的完成。

#3各類程序語言廣泛支持

JSON和Javascript(JS)本身是兼容,因為JSON寫出來的就是一個Javascript 的Object或者是Array。

而因為近現在在網站/手機app開發,甚至是主機管理後台上都會較多使用JS,所以JSON無論在前端和後端的程序開發裏,JSON都是必然的資料格式選擇。

另外對於絕大部份其他的程序語言,無論是Java,PHP,Python的等等等...,都會有支援讀寫JSON這資料格式的Library,所以各方各路的程序員都會欣然同意使用JSON作為資料交換的格式。

當你提起JSON時的注意事項

我寫這篇文章是因為有一天我太太問我在IT裏甚麼是JSON。

解釋完給她聽後,我覺得不對勁呀...她又不是幹IT的,為甚麼她會問這個幾乎只有IT人才會用到的專有名詞呢...?

就問她:為甚麼你想知道JSON呢?你老闆要你寫程序嗎?

她:我最近聽到公司IT同事常提起Jason(JSON)...但是過了一段時間我還是一次都見不到這位Jason新同事呢....也不知道是甚麼部門的...

到她真的和IT同事們開會後,才發現他們所提及的那位Jason哥,就是她這次問我的神秘新同事 ---> JSON哥

所以今天你了解完JSON以後,再要提這個JSON格式時,記住一定要清楚的先說明這個是個資料格式名,以免為你家公司多添加一個看不見,摸不著的神秘新同事了。

json不是人

JSON實際應用示範教學

說了那麼多,如果你想看到一些關於怎樣使用JSON的一些實際應用的話,可以到我Youtube頻道的這段教學影片。

我在裏面親自示範了使用Javascript拿回JSON格式的bitcoin價格,然後放到自己的網站內使用

好了,這次介紹這個神秘新同事JSON哥就到這裡了,感謝你的收看。

梁浩賢
本文作者 : - 資深網站軟件工程師
想看更多類似內容的可選擇
有用嗎? 分享本篇文章給朋友吧~

再看看其他?