共计 636 个字符,预计需要花费 2 分钟才能阅读完成。
1. 什么是序列化
“序列化是将对象状态转换为可放弃或传输的格局的过程”艰深的来说就是要把 js 中的 Object 类型转换成 String 类型, 那为什么要把 Object 转换成 String 呢?
2. 为什么须要用序列化
js 中的数据类型有根底数据类型 (String、Number、Boolean、Undefined、Null、Symbol) 和援用数据类型(Object、Array、function 等)
根底数据类型保留在计算机栈内存中,援用数据类型保留在堆内存中,它的指针寄存在栈内存。咱们在发送申请的时候,如果携带着援用数据类型参数,那么携带的参数只会携带指针不会携带堆内存中的内容
根底数据类型能够间接携带值,所以把援用类型参数序列化为根本数据类型参数很有必要
3. 序列化的办法
用于把 JavaScript 对象转换为 JSON /URL 字符串
JSON.stringify() 序列化为 json 格局
qs.stringify() 序列化为 url 格局如(a=1&b=2&c=3)
留神区别:Content-Type:'application/json' 应用 JSON.stringify()
Content-Type:'application/x-www-form-urlencoded' 时应用 qs.stringify()
不同 headers 的应用场景目前还不太确定具体关联,这里只做一个参考
4. 反序列化:
把 JSON/URl 字符串解析解析成一般的 JavaScript 对象
JSON.parse()
qs.parse()
正文完