qs.stringify() 和JSON.stringify()有什么区别
程序员文章站
2024-03-17 12:00:22
...
完全不是一个东西,功能虽然都是序列化。
假设我要提交的数据如下
var a = {name:'hehe',age:10};
qs.stringify序列化结果如下
name=hehe&age=10
而JSON.stringify序列化结果如下:
"{"a":"hehe","age":10}"
qs库支持的类型和方法更多吧,如文档中所写的那样转化不符合json格式的字符串,例如’foo[bar][baz]=foobarbaz’)。
对于stringify,qs库的输出也是不一样的,如上一条那样的格式。
如果你并没有这种需求,并且你的JSON是正常类型的JSON,还是用JSON好了。
https://www.npmjs.com/package/qs
补充说明:
qs.stringify把js对象转成key=value连接形式的字符串,类似:json.stringify,如:{name:‘hehe’, ange:10}>name=hehe&ange=10
qs.parse则是相反操作,把key=value连接字符串转成对象,类似:json.parse,如:
name=hehe&ange=10>{name:‘hehe’, ange:10}
这是我测试拿到的数据(不需要设置headers):
var data = Qs.stringify({parent:-1});
axios.post('/api/system/setting/listGroup',data)
.then(function(res){
console.log(res);
})
.catch(err=>{
console.log(err);
})
输出如下图: