數據交換格式 JSON

1. 什麼是 JSON

概念 : JSON 的英文全稱是 JavaScript ObjEct Notation, 即 “JavaScript 對象表示法” .

簡單來講 : JSON 就是Javascript對象和數組的字元串表示法,它使用文本表示一個JS對象或數組的資訊 , 因此 , JSON的本質是字元串。

作用 : JSON是一種輕量級的文本數據交換格式,在作用上類似於XML,專門用於存儲和傳輸數據,但是 JSON 比 XML 更小、更快、更易解析。

現狀 : JSON 是在 2001 年開始被推廣和使用的數據格式, 到現今為止, JSON 已經成為了主流的數據交換格式 .

2. JSON 的兩種數據結構

JSON就是用字元串來表示Javascript 的對象和數組。所以,JSON中包含對象和數組兩種結構,通過這兩種結構的相互嵌套,可以表示各種複雜的數據結構。

對象結構:對象結構在JSON 中表示為{},括起來的內容。數據結構為{key.: value, key: value, ….的鍵值對結構。其中,key必須是使用英文的雙引號包裹的字元串,value的數據類型可以是數字、字元串、布爾值、null、數組、對象6種類型。

 

錯誤的寫法

 

 

正確的寫法

 

 

 數組結構 : 數組結構在JSON中表示為[]括起來的內容。數據結構為[ “java”, “javascript”, 30, true…] .數組中數據的類型可以是數字、字元串、布爾值、null、數組、對象6種類型。

 

 

 

 3. JSON 語法注意事項 (重要)

1. 屬性名必須使用雙引號包裹

2. 字元串類型的值必須使用雙引號包裹

3. JSON中不允許使用單引號表示字元串

4. JSON中不能寫注釋

5. JSON的最外層必須是對象或數組格式

6. 不能使用undefined或函數作為JSON的值

JSON的作用:在電腦與網路之間存儲和傳輸數據。

JSON的本質:用字元串來表示Javascript對象數據或數組數據

4. JSON 和 JS 對象的關係

JSON 是 JS 對象的字元串表示法, 它使用文本表示一個 JS 對象的資訊, 本質是一個字元串. 例如 : 

 

5. JSON 和 JS對象的互轉

要實現從 JSON 字元串轉換為 JS 對象, 使用 JSON.parse() 方法:

 

 要實現從 JS 對象轉換為 JSON 字元串, 使用 JSON.stringify()方法 : 

 

6. 序列化和反序列化 (面試會問)

數據對象轉換為字元串的過程, 叫做序列化, 例如 : 調用 JSON.stringify() 函數的操作, 叫做 JSON 序列化.

字元串轉換為數據對象那個的過程, 叫做反序列化, 例如 : 調用 JSON.parse() 函數的操作, 叫做 JSON 反序列化.