xiaochengzi6 / Blog

个人博客
GNU Lesser General Public License v2.1
0 stars 0 forks source link

什么是序列化 #39

Open xiaochengzi6 opened 2 years ago

xiaochengzi6 commented 2 years ago

1. 什么是对象序列化

  1. 对象的状态转换成字符串
  2. 对象的状态信息转换为可以存储或传输的形式的过程

2. 为什么会有对象序列化

  1. 希望把对象obj的内容保存在磁盘上 — 对象obj序列化
  2. 序列化:obj的内容转换成一个字符串的形式,保存在磁盘上 存储
  3. 反序列化:字符串还原成对象 传输

3. JavaScript中的对象序列化

JSON.stringify() 和 JSON.parse() 规则:

  1. 五种原始类型:JSON不支持undefined
  1. 不支持函数
  2. 除了RegExp、Error对象,JSON语法支持其他所有对象
  3. JSON.stringify()只能序列化对象的可枚举的自有属性
  4. NaN、Infinity和 -Infinity序列化的结果是null
  5. 日期对象序列化的结果是ISO格式的字符串,但JSON.parse()依然保留它们字符串形态,并不会为其还原为日期对象

4. 完整版JSON.stringify() 序列化

序列化原始值、对象、数组 – o替代 JSON.stringify(o[可选参数,数组或函数][,可选参数,数值或字符串])

5. 完整版JSON.parse() 反序列化