1.首先qs.parse()和qs.stringify()的区别
qs.parse()将URI解析成对象的形式
qs.strigify()将对象解析成URl的形式以&连接
let url= 'a=1&ab=2&abc=3'
则 urlParse = qs.parse(url) = {a:'1',b:'2',c:'3'}
则 qs.stringify(urlParse) = a=1&ab=2&abc=3
当我们需要传递数组的时候,我们可以通过以下方式进项序列化处理
默认情况下,它们给出明确的索引,如下代码:
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'
2.JSON.stringify()
在这里需要注意的是,JSON中同样存在stringify方法,但是两者之间的区别是很明显的,如下所示:
{"uid":"cs11","pwd":"000000als","username":"cs11","password":"000000als"}
uid=cs11&pwd=000000als&username=cs11&password=000000als
如上所示,前者是采用JSON.stringify(param)进行处理,后者是采用Qs.stringify(param)进行处理的。
3.JSON对象和JSON字符串之间的转换
var b='{"name":"2323","sex":"afasdf","age":"6262"}';//json字符串 有引号
var
person={
"name"
:
"tom"
,
"sex"
:
"男"
,
"age"
:
"24"
}
//json对象 对象的属性是可以用对象.属性进行调用
json字符串转json对象 JSON.parse
var b='{"name":"2323","sex":"afasdf","age":"6262"}'//json字符串 var bToObject=JSON.parse(b); console.log(bToObject.name);//2323
json对象转json字符串 JSON.stringify
var a={"name":"tom","sex":"男","age":"24"}//json对象 var aToString=JSON.stringify(a); console.log(aToString);//{"name":"tom","sex":"男","age":"24"}