-
什么是对象序列化
- 对象的状态转换成字符串
- 对象的状态信息转换为可以存储或传输的形式的过程
-
为什么会有对象序列化
- 希望把对象obj的内容保存在磁盘上 — 对象obj序列化
- 序列化:obj的内容转换成一个字符串的形式,保存在磁盘上 存储
- 反序列化:字符串还原成对象 传输
-
JavaScript中的对象序列化
JSON.stringify() 和 JSON.parse()
规则:
1. 五种原始类型:JSON不支持undefined
2. 不支持函数
3. 除了RegExp、Error对象,JSON语法支持其他所有对象
4. JSON.stringify()只能序列化对象的可枚举的自有属性
5. NaN、Infinity和 -Infinity序列化的结果是null
6. 日期对象序列化的结果是ISO格式的字符串,但JSON.parse()依然保留它们字符串形态,并不会为其还原为日期对象 -
完整版JSON.stringify() 序列化
序列化原始值、对象、数组 – o替代
JSON.stringify(o[可选参数,数组或函数][,可选参数,数值或字符串]) -
完整版JSON.parse() 反序列化