前言
最近无论做前端项目,还是学习Redis,还是之前遇到的javabean实现serializable接口,都提到了序列化这个知识点,但是自己对这一块一直迷迷糊糊的,决定总结一下。
前后端序列化的差别
注意:前端讲的序列化和java中讲的序列化是有些差别的,这也是前后端都沾过而产生疑问的原因。
前端
差别
前端的序列化指的是将对象转换为一定格式的字符串。比如:
var a = {name:'hehe',age:10};
qs.stringify(a)
==>'name=hehe&age=10'
JSON.stringify(a)
==>'{"name":"hehe","age":10}'
而反序列化则是将该序列化后的字符串重新转换为a对象。
用途
- qs多用于发送请求时将对象作为参数拼接在URL路径上。
- json多用于在接受后端发送的数据时,将其从字符串转化为对象来使用
注意事项
qs
在传递数组时
- 默认情况:
qs.stringify({
a: ['b', 'c', 'd'] }