JSON(JavaScript Object Notation, JS 對象簡譜) 是一種輕量級的資料交換格式。它基于 ECMAScript (歐洲計算機協會制定的JS規範)的一個子集,采用完全獨立于程式設計語言的文本格式來存儲和表示資料。簡潔和清晰的層次結構使得 JSON 成為理想的資料交換語言。易于人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網絡傳輸效率。
JavaScript Object Notation (JSON) 是一種資料交換格式。盡管不是嚴格意義上的子集,JSON 非常接近 JavaScript 文法的子集。雖然許多程式設計語言支援 JSON,JSON 對于基于 JavaScript 的應用尤其常用(包括網站和浏覽器擴充)。
JSON 可以表示數字、布爾值、字元串、null、數組(值的有序序列),以及由這些值(或數組、對象)所組成的對象(字元串與值的映射)。JSON 并非原生支援更複雜的資料類型(如函數、正規表達式、日期等)。(日期對象預設會序列化為 ISO 格式的日期的字元串,是以資訊不會完全丢失。)如果你需要使用 JSON 來表示額外的資料類型,請在它們序列化時或反序列化前轉換值。
JSON由兩種結構組成:
- 鍵值對的無序集合——對象(或者叫記錄、結構、字典、哈希表、有鍵清單或關聯數組等)
-
值的有序清單——數組
這些都是常見的資料結構。事實上大部分現代計算機語言都以某種形式支援它們。這使得一種資料格式在同樣基于這些結構的程式設計語言之間交換成為可能。
JSON中的形式:
- 對象是一個無序鍵值對的集合,以"{"開始,同時以"}"結束,鍵值對之間以":"相隔,不同的鍵值對之間以","相隔。
- 數組是值(value)的有序集合。一個數組以“[”(左中括号)開始,“]”(右中括号)結束。值之間使用“,”(逗号)分隔。
- 值(value)可以是雙引号括起來的字元串(string)、數值(number)、true、false、 null、對象(object)或者數組(array)。這些結構可以嵌套。
- 字元串(string)是由雙引号包圍的任意數量Unicode字元的集合,使用反斜線轉義。一個字元(character)即一個單獨的字元串(character string)。字元串(string)與C或者Java的字元串非常相似。
- 數值(number)也與C或者Java的數值非常相似。除去未曾使用的八進制與十六進制格式。除去一些編碼細節。
- 空白可以加入到任何符号之間。
資料來源:
介紹 JSON
http://www.json.org/json-zh.htmlJSON簡介
https://www.jianshu.com/p/1970a209672fJSON | MDN
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/JSONBradley J , Sakimura N , Jones M . JSON Web Token (JWT)[J]. 2015.