数据交换格式 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 反序列化.