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