一、qs.stringify()和JSON.stringify()比较:
qs.stringify():
1、认识qs
qs是一个npm仓库所管理的包;
qs.stringify()是将对象序列化成URL的形式,以&进行拼接。
关于Vue中,序列化字符串,处理发送请求的参数
2、安装方式
npm install qs
3、引入方式
import qs from 'qs'
4、实例如下
var a = {name:'hehe',age:10,score:[89,90,100]};
qs.stringify(a)
// 'name=hehe&age=10&score[0]=89&score[1]=90&score[2]=100'
5、数组参数的特殊处理
那么当我们需要传递数组的时候,我们就可以通过下面方式进行处理:
默认情况下,它们给出明确的索引,如下代码:
qs.stringify({ a: ['b', 'c', 'd'] });
// 'a[0]=b&a[1]=c&a[2]=d'
也可以进行重写这种默认方式为false
qs.stringify({ a: ['b', 'c', 'd'] }, { indices: false });
// 'a=b&a=c&a=d'
当然,也可以通过arrayFormat 选项进行格式化输出,如下代码所示:
qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'indices' })
// 'a[0]=b&a[1]=c'
qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'brackets' })
// 'a[]=b&a[]=c'
qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'repeat' })
// 'a=b&a=c'
JSON.stringify():
1、认识:
它是对象形式的数据转为字符串的形式
2、实例如下:
var a = {name:'hehe',age:10,score:[89,90,100]};
JSON.stringify(a)
// "{"name":"hehe","age":10,"score":[89,90,100]}"
二、qs.parse()和JSON.parse()比较:
qs.parse():
1、认识 qs.parse()将URL解析成对象的形式;
2、实例如下:
let b = "name=hehe&age=10&score=89&score=90&score=100"
qs.parse(b)
// {name: "hehe", age: "10", score: Array[3]}
JSON.parse():
1、认识:
它是将字符串格式的数据转为对象的形式;
2、实例如下:
let b = '{"name":"hehe","age":10,"score":[89,90,100]}'
JSON.parse(b)
// {name: "hehe", age: "10", score: Array[3]}