欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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);

					})

输出如下图:
qs.stringify() 和JSON.stringify()有什么区别