通过qs序列化参数
安装命令
npm install qs
qs.parse()、qs.stringify()
1、qs.parse()将URL解析成对象的形式
const Qs = require('qs')
const url = 'method=query_sql_dataset_data&projectId=85&appToken=7d22e38e-5717-11e7-907b-a6006ad3dba0'
Qs.parse(url)
console.log(Qs.parse(url))
2、qs.stringify()将对象 序列化成URL的形式,以&进行拼接
const Qs = require('qs')
const obj = {
method: 'query_sql_dataset_data',
projectId: '85',
appToken: '7d22e38e-5717-11e7-907b-a6006ad3dba0',
datasetId: ' 12564701'
}
console.log(Qs.stringify(obj))
3、对象数组转换成字符串
console.log(decodeURIComponent(Qs.stringify({ a: ['b', 'c', 'd'] })))
3.1、 encodeURIComponent
编码 、decodeURIComponent
解码
console.log(encodeURIComponent(Qs.stringify({ a: ['b', 'c', 'd'] }, { arrayFormat: 'indices' }))) // encodeURIComponent编码
console.log(decodeURIComponent(Qs.stringify({ a: ['b', 'c', 'd'] }))) // decodeURIComponent 解码
4、通过arrayFormat 选项进行格式化输出,默认indices
console.log(decodeURIComponent(Qs.stringify({ a: ['b', 'c', 'd'] }, { arrayFormat: 'indices' })))
console.log(decodeURIComponent(Qs.stringify({ a: ['b', 'c', 'd'] }, { arrayFormat: 'brackets' })))
console.log(decodeURIComponent(Qs.stringify({ a: ['b', 'c', 'd'] }, { arrayFormat: 'repeat' })))