3、对象的序列化
对象的序列化
- JS中的对象使用时都是存在于计算机的内存中的
- 序列化指将对象转换为一个可以存储的格式
在JS中对象的序列化通常是一个对象转换为字符串(JSON字符串) - 序列化的用途(对象转换为字符串有什么用):
- 对象转换为字符串后,可以将字符串在不同的语言之间进行传递
甚至人可以直接对字符串进行读写操作,使得JS对象可以不同的语言之间传递 - 用途:
1. 作为数据交换的格式
2. 用来编写配置文字 - 如何进行序列化:
- 序列化指将对象转换为一个可以存储的格式
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.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>