共计 981 个字符,预计需要花费 3 分钟才能阅读完成。
JSON的两种结构
JSON就是字符串来表示JavaScript的对象和数组;
所以JSON中包含对象和数组两种结构,通过这两种结构的相互嵌套,可以表示各种复杂的数据结构
对象结构:对象结构在JSON中表示为 { }
括起来的内容;数据结构为 {key: value, key: value, ...}
的键值对结构;其中,key必须是使用英文的双引号包裹的字符串,value的数据类型可以是数字、字符串、布尔值、null、数组、对象6种类型
{
"name": "张三",
"age": 18,
"sex": "男",
"address": null,
"hobby": ["吃饭", "睡觉", "打豆豆"]
}
数组结构:数组结构在JSON中表示为 [ ]
括起来的内容;数据结构为 ["java", "javascript", 30, true, ...]
数组中的数据类型可以是数字、字符串、布尔值、null、数组、对象6种类型
["javascript", 16.6, [true, false, null], { "name": "张三", "age": 18 }]
JSON的作用:在计算机与网络之间存储和传输数据
JSON的本质:用字符串来表示JavsScript对象数据或数组数据
- 属性名必须使用双引号包裹
- 字符串类型必须使用双引号包裹
- JSON中不允许使用单引号表示字符串
- JSON中不能写注释
- JSON的最外层必须是对象或数组格式
- 不能使用undefined或函数作为JSON的值
JSON和JS对象的相互转化
要实现JSON字符串转换为JS“对象,使用 JSON.parres()
方法:
var obj = JSON.parse('{"a": "Hello", "b": "World"}')
console.log(obj) // {a: 'Hello', b: 'World'}
要实现JS对象转换为JSON字符串,使用 JSON.stringify()
方法:
var json = JSON.stringify({ a: 'Hello', b: 'World' })
console.log(json) // '{"a":"Hello","b":"World"}'
序列化和反序列化
把数据对象转换为字符串的过程,叫做序列化
例如:调用
JSON.stringify()
函数的操作,叫做JSON序列化
把字符串转换为数据对象的过程,叫做反序列化
例如:调用
JSON.parse()
函数的操作,叫做JSON反序列化
正文完