LCCNET 聯成電腦

m_nav_line m_nav_line

聯成電腦分享:什麼是JSON?為什麼每一個工程師都要會?

icon_fb icon_twitter icon_google LINE it!
article_main_img

文、意如老師

 

 

 

今日主題:

一、什麼是JSON?

二、JSON範例介紹

    2-1-範例一(儲存物件)

    2-2-範例二(儲存陣列)

三、實作練習

 

 

...

 

 

一、什麼是JSON

 

在介紹今天的主題之前先舉個簡單的例子,我們日常生活是用中文來溝通,而美國人溝通是使用英文、日本人溝通是使用日語,而工程師間溝通是使用什麼呢?就是今天的主角JSON。

 

JSON(JavaScript Object Notation)是一個資料交換的格式與其它語言無關,在JSON未普遍之前,工程師們如果要交換資料,通常會寫在Excel裡-轉成(XML),或是把資料寫在文字檔裡(TXT)等等其他交換資料方式,處理的都是一個個的檔案,開檔、讀檔、更檔、寫檔,總是沒有那麼方便,所以這也是JSON檔,一下出來就變主流的主要原因。

 

JSON它儲存的資料可以是字串、數字、布林[true、false]、陣列[array]、物件{object}等資料格式。它的資料格式最外層是用一個{ }(簡稱物件)包起來,下圖為JSON資料格式。

 

 

 

...

 

 

二、JSON範例介紹

 

在組JSON前,你需要準備個編輯器,如果手邊剛好沒有編輯器的話,我們可以使用線上編輯JSON的編輯器。

 

JSON線上編輯器也可以直接在網址列輸入關鍵字JSON Editor,開啟後先把左邊框清空,我們等等會重頭開始組JSON資料。

 

 

 

 

一開始我們要先搞懂{ }、[ ]這兩種括弧差別在哪裡。

 

 

1.{ }為物件-object

 

它儲存的格式為:{  “屬性1” : “ 值 1” ,“屬性2” : “ 值 2” }

這邊記得屬性名一定要取英文的。

 

 

2.[  ]為陣列-array

 

它儲存的格式為 [ “值1”,”值2”,值3]

 

 

 

範例一 儲存物件:

 

我們先準備幾個欄位,唯一識別碼、餐廳、地址、電話、介紹、價錢

接著要把它存成物件類型

 

例如:

 

{

"ID": "002",

"Name": "內湖草莓宴",

"Address": "台北縣內湖路五寮彎1-3號6樓",

"Tel": "02-9123456",

"info": "觀光果園有兩大園區,冬天採草莓、夏天採紅棗,不同季節都能體驗採果樂趣!由公館鄉農會草莓班輔導,品質優、口感佳,頗受遊客好評",

"Price": "1000"

}

 

 

把資料填到JSON編輯器左邊,然後點選2.copy到右邊3,右邊是幫你再排更整齊,讓我們更方便能識別我們的資料。

 

 

 

如果你的JSON檔,格式不對或輸入錯誤時,它在行號會顯示X的錯誤題示。

 

 

 

從上圖的X,可以追溯到第五行,少了一個逗號,所以要把你的資料送給別人之前可以先用JSON編輯器先檢查看看,減少資料錯誤的發生。

 

 

 

範例二 儲存陣列

 

陣列類型相對簡單,只有值而已

 

例如:

 

1.記錄12月份一周的天氣溫度

[18,16,20,17,16,18,15]

 

2.紀錄縣市

["台北","宜蘭","花蓮","台中","高雄"]

 

記得組完資料使用編輯器檢查是否有輸入正確

 

 

 

 

 

...

 

 

三、實作練習

 

接下來就換你來實作看看了!

 

請你建立一組JSON資料,裡面資料欄位為:

電影介紹欄位有(識別id、電影名稱、演員、上映日期、電影介紹)

 

解答參考如下:

 

 

 

JSON它除了可以儲存以上格式外,它的檔案還非常小,所以現在的工程師已經全都在用JSON檔來互相溝通交換資料了。

 

如果你不會JSON就等於你在台灣不會講中文一樣,所以想當工程師的朋友們必定要學會JSON資料格式!

 

 

下一篇文章要跟大家分享的是什麼是API?為什麼每一個工程師都要會?

 

 

 

 

 

 

FB粉絲團:https://www.facebook.com/lccnetzone
YouTube頻道:https://www.youtube.com/user/LccnetTaiwan

痞客邦Blog:http://lccnetvip.pixnet.net/blog

本網站使用相關網站技術以確保使用者獲得最佳體驗,通過使用我們的網站,您確認並同意本網站的隱私權政策。欲了解詳情,請參閱 隱私權政策