什么是JSON

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

通俗的来说,JSON就是一串字符串 只不过元素会使用特定的符号标注。

1、{} 双括号表示对象

2、[] 中括号表示数组

3、"" 双引号内是属性或值

4、: 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)

所以 {"name": "Michael"} 可以理解为是一个包含name为Michael的对象,而[{"name": "Michael"},{"name": "Jerry"}]就表示包含两个对象的数组

当然了,你也可以使用{"name":["Michael","Jerry"]}来简化上面一步,这是一个拥有一个name数组的对象

JSON历史

1、JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。

2、JSON是Douglas Crockford在2001年开始推广使用的数据格式,在2005年-2006年正式成为主流的数据格式,雅虎和谷歌就在那时候开始广泛地使用JSON格式。

JSON语法

在 JS 语言中,一切都是对象。因此,任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型:

1、对象表示为键值对

2、数据由逗号分隔

3、花括号保存对象

4、方括号保存数组

重要提示

按照之前的经验,json字符串的KEY和VALUE可以不带引号,但是这个在最新的官方文档中并不推荐使用。

根据JSON官方最新规范,如果是字符串,那不管是键或值最好都用双引号引起来,所以上面的代码就是{"name":"json"}

JSON有何用

JSON常见的应用场景如下:

1、javascript脚本中经常使用json来作为数据的传递对象(和java中使用entity来作为数据的载体一样)

2、前端和后台通常在ajax异步数据交流时通常使用JSON来作为载体

3、后端逻辑处理中经常使用JSON来作为一些临时数据的上下文中