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.html
JSON简介 https://www.jianshu.com/p/1970a209672f
JSON | MDN https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/JSON
Bradley J , Sakimura N , Jones M . JSON Web Token (JWT)[J]. 2015.