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()
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。