3、对象的序列化
对象的序列化
JS中的对象使用时都是存在于计算机的内存中的
- 序列化指将对象转换为一个可以存储的格式
在JS中对象的序列化通常是一个对象转换为字符串(JSON字符串) - 序列化的用途(对象转换为字符串有什么用):
- 对象转换为字符串后,可以将字符串在不同的语言之间进行传递
甚至人可以直接对字符串进行读写操作,使得JS对象可以不同的语言之间传递 用途:
- 作为数据交换的格式
- 用来编写配置文字
如何进行序列化:
- 序列化指将对象转换为一个可以存储的格式
JSON
- 在JS中有一个工具类 JSON (JavaScript Object Notation) JS对象表示法
JS对象序列化后会转换为一个字符串,这个字符串我们称其为JSON字符串
- 也可以手动的编写JSON字符串,在很多程序的配置文件就是使用JSON编写的
编写JSON的注意事项:
- JSON字符串有两种类型:
JSON对象 {}
JSON数组 [] - JSON字符串的属性名必须使用双引号引起来
JSON中可以使用的属性值(元素)
- 数字(Number)
- 字符串(String) 必须使用双引号
- 布尔值(Boolean)
- 空值(Null)
- 对象(Object {})
- 数组(Array [])
- JSON的格式和JS对象的格式基本上一致的,
注意:JSON字符串如果属性是最后一个,则不要再加,
- JSON字符串有两种类型:
JSON.stringify()
可以将一个对象转换成JSON字符串
JSON.parse()
可以将一个JSON格式的字符串转换为JS对象
<script>
const obj = {
name: '孙悟空',
age: 13,
}
//将obj转换成JSON字符串
const str = JSON.stringify(obj)//JSON.stringify() 可以将一个对象转换成JSON字符串
const obj2 = JSON.parse(str) //JSON.parse() 可以将一个JSON格式的字符串转换为JS对象
// console.log(obj)
// console.log(str) // {"name":"孙悟空","age":18}
// console.log(obj2)
const str2 = `{'name': '孙悟空','age': '13'}`
const str3 = '{}'
const str4 = '["hello",true,[]]'
</script>