一、qs(querystring) 库使用方法
qs是一个npm仓库所管理的包
1. 基本使用
- 安装
npm install qs --save
- 引入+使用
import qs from 'qs'
let url = 'username=lilei&age=23&phone=18600001234'
let urlObj = qs.parse(url)
console.log(urlObj)
/*
{
username:'lilei',
age:'23',
phone:'18600001234'
}
*/
2. qs.parse()
qs.parse() 用于将URL解析成对象的形式
3. qs.stringify()
qs.stringify()将对象 序列化成URL的形式,以&进行拼接
import qs from 'qs'
let urlObj = {
username:'lilei',
age:'23',
phone:'18600001234'
}
let url = qs.stringify(urlObj)
console.log(url) //'username=lilei&age=23&phone=18600001234'
3.1 传递数组
默认情况下,会给出明确的索引。
import qs from 'qs'
let url = qs.stringify({a:[2,3,4]})
console.log(url)//'a[0]=2&a[1]=3&a[2]=4'
也可以重写这种默认方式为false
import qs from 'qs'
let url = qs.stringify({a:[2,3,4]}, { indices: false })
console.log(url)//'a=2&a=3&a=4'
当然,也可以通过arrayFormat选项进行格式化输出
import qs from 'qs'
let url1 = qs.stringify({ a: [2, 3]}, { arrayFormat: 'indices' })
let url2 = qs.stringify({ a: [2, 3]}, { arrayFormat: 'brackets' })
let url3 = qs.stringify({ a: [2, 3]}, { arrayFormat: 'repeat' })
console.log(url1)// 'a[0]=2&a[1]=3'
console.log(url1)// 'a[]=2&a[]=3'
console.log(url1)// 'a=2&a=3'
4. 与 JSON.stringify() 的区别
import qs from 'qs'
let urlObj = {
username:'lilei',
age:'23',
phone:'18600001234'
}
let url = qs.stringify(urlObj)
let json = JSON.stringify(urlObj)
console.log(url)//'username=lilei&age=23&phone=18600001234'
console.log(json)//{"username":"lilei","age":"23","phone":"18600001234"}