JSON (JavaScript Object Notation) ,意思是一種資料交換的語言,是一種格式,用來描述文件個體。與XML都是用於描述文件的語言。
如果你寫過物件導向程式語言,如Java , JavaScript, Ruby , C#等。你對於建立Class一定不陌生! 當然,JSON的描述方式就像是建立物件的類別一樣。
傳統XML是標籤語言,必須格式嚴謹,前後標籤要一致且不可以漏掉。這在撰寫資料交換文件的時候,就需要格外的小心。那JSON的描述方式,就比較直覺化,也相對的簡單明瞭許多。比起XML,JSON算是輕量了許多。
現在大多程式語言都有開發Parse JOSN格式的函示庫,因此,使用上也不會有隔閡。
JSON 的描述方式以 物件:數值 對為主。如以下:
{Object : Value}
概念像是hash般,以key-value 來做於格式,當然也結合了陣列的描述方式。
{ } 大括號以key:vlue 對為描述方式。 -- 描述物件
[ ] 括號以 數值為描述方式。 -- 描述陣列
JSON內建含有基本型態。(如:字串、數字、布林值)等。 他格式直接是以字串形式存在。所以我們可以以字串讀入,再以parser去解析就好。
[狀況] 如果我們要建立帳戶資料表。簡單來說只要帳號、密碼。我們可以建立JSON格式如下:
{
"accounts": "user",
"password": "user_password"
}
以字串形式存為:
{ "accounts":"user1" , "password":"user1_password"}
我們可以利用JOSN Validator來幫助我們是否有語法輸入錯誤檢查,以及幫助我們格式化JSON檔案以方便閱讀。
Google有許多JSON格式的介紹。
如:
都是相當棒的文章,可以幫助我們來學習這個好用的格式!
上述我們建立了帳戶資料表,那接下來我們可能會想到在通訊軟體裡面,有”歷史訊息”這種功能。那我們該如何去幫助我們儲存這些大量的對話內容呢!? 我們可以利用資料庫系統幫助我們儲存,也可以利用JSON讀寫檔幫助我們來儲存對話。
上述例子就是:發生了兩次對話,test 以及test2的兩次訊息的傳送
在對話裡面可以看到,由傳送方(from) 以及傳送對象(to)、發生的日期(date)、時間(time)、以及對話內容(log)。
這是基本的資料結構定義。後面就以這簡單的資料結構去幫助我們建立boo it歷史訊息!