qs.stringfy和qs.parse的使用

qs.stringify和qs.parse是用于处理URL查询字符串的工具函数的方法。

qs.stringify用于将一个对象序列化为URL查询字符串的格式。它接收一个对象作为参数,并返回一个字符串。下面是一个例子:

const qs = require('qs');

const params = { name: 'John', age: 30 };
const queryString = qs.stringify(params);

console.log(queryString); // 输出 "name=John&age=30"

qs.parse用于将URL查询字符串解析为一个对象。它接收一个字符串作为参数,并返回一个解析后的对象。下面是一个例子:

const queryString = 'name=John&age=30';
const params = qs.parse(queryString);

console.log(params); // 输出 { name: 'John', age: '30' }

处理数组

对象中包含数组

const qs = require('qs')
const obj = {
    name: 'zhangsan',
    age: 18,
    hobby: ['eat', 'sleep', 'play'],
}

const str = qs.stringify(obj)

console.log(str);
// name=zhangsan&age=18&hobby%5B0%5D=eat&hobby%5B1%5D=sleep&hobby%5B2%5D=play

const obj2 = qs.parse(str)
console.log(obj2);
// { name: 'zhangsan', age: '18', hobby: [ 'eat', 'sleep', 'play' ] }

设置数组编码格式
默认编码后的数组加上[索引]
设置{arrayFormat: ‘repeat’}后 变为hobby=eat&hobby=sleep&hobby=play

const array = ['姓名','年龄','爱好']

const str2 = qs.stringify(array)
console.log(str2);
//0=%E5%A7%93%E5%90%8D&1=%E5%B9%B4%E9%BE%84&2=%E7%88%B1%E5%A5%BD

const str3 = qs.stringify(obj,{ arrayFormat: 'indices'})
console.log(str3);
//name=zhangsan&age=18&hobby%5B0%5D=eat&hobby%5B1%5D=sleep&hobby%5B2%5D=play
//name=zhangsan&age=18&hobby[0]=eat&hobby[1]=sleep&hobby[2]=play


const str4 = qs.stringify(obj,{ arrayFormat: 'repeat' })
console.log(str4);
//name=zhangsan&age=18&hobby=eat&hobby=sleep&hobby=play
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值