JSON是JavaScript Object Notation (JavaScript对象表示法)的缩写,简单来说,JSON是JavaScript对象和数组的字符串表示法,他使用文本来表示一个JS对象或者数组的信息,所以说JSON的本质是字符串。
1.JSON的作用
JSON是一种轻量级的文本数据交换格式。载作用上类似于XML,专门用来存储和传输数据,但是XML歌手臃肿,有很多和数据无关的代码,传输效率比较低,在JavaScript中解析也比较麻烦,所以,更小更快,更易解析的JSON在2001年开始就开始被推广和使用,现在也成为了主流的数据交换格式。
2.JSON的两种结构
1.对象形式:对象结构在 JSON 中表示为 { } 括起来的内容。数据结构为 { key: value, key: value, … } 的键值对结构。其中,key 必须是使用英文的双引号包裹的字符串,value 的数据类型可以是数字、字符串、布尔值、null、数组、对象6种类型。
{
"name":"zihan",
"id":"202020",
"grade":3,
}
2.数组形式:组结构在 JSON 中表示为 [ ] 括起来的内容。数据结构为 [ "java", "javascript", 30, true … ] 。数组中数据的类型可以是数字、字符串、布尔值、null、数组、对象6种类型。
["scratch","python","c++"]
3.JSON的语法注意事项
- 属性名必须使用双引号包裹
- 字符串类型的值必须用双引号包裹
- JSON中不允许使用单引号表示字符串
- JSON中不能写注释
- JSON的最外层必须是对象或者数组格式
- 不能使用undefined或者函数作为JSON的值
4.JSON的作用与本质
- 作用:在计算机与网络之间存储和传输数据
- 本质:用字符串来表示javascript对象数据或数组数据
5.JSON与JS对象
- 关系:json是js对象的字符串表示法,它使用文本表示一个js对象的信息,本质是一个字符串。
//对象 var obj = {a:'Hello',b:'world'} //JSON字符串 var json = '{a:"Hello",b:"world"}'
- JSON字符串转换为JS对象(反序列化):JSON.parse()
-
JS对象转换成JSON字符串(序列化):JSON.stringify()