qs.stringify() 和JSON.stringify()有什么区别

完全不是一个东西,功能虽然都是序列化。
假设我要提交的数据如下

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

					})

输出如下图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值