一、下載:
npm install qs
二、語法:
1.qs.parse() 將url解析成對象的形式
例如:
const Qs=require('qs');
let url="method=query_sql_dataset_data&projectId=85&appToken=7d22e38e-5717-11e7-907b-a6006ad3dba0";
console.log(Qs.parse(url));
//出來的結果是:
{
methos:'query_sql_dataset_data',
projectId:'85',
appToken:'7d22e38e-5717-11e7-907b-a6006ad3dba0'
}
2.qs.stringify() 將對象序列化為URL的形式,以&拼接。可是說是與qs.parse()相對應
例如:
let obj=
{
methos:'query_sql_dataset_data',
projectId:'85',
appToken:'7d22e38e-5717-11e7-907b-a6006ad3dba0'
}
console.log(Qs.stringify(obj));
//出來的結果是:
method=query_sql_dataset_data&projectId=85&appToken=7d22e38e-5717-11e7-907b-a6006ad3dba0
所以,當我們需要傳遞數組時:
(1)就可以: Qs.stringify({ a: ['b', 'c', 'd'] }); // 'a[0]=b&a[1]=c&a[2]=d'
(2)也可以 : qs.stringify({ a: ['b', 'c', 'd'] }, { indices: false }); // 'a=b&a=c&a=d'
(3)還可以通過arrayFormat 選項進行格式化輸出:
Qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'indices' })
// 'a[0]=b&a[1]=c'
Qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'brackets' })
// 'a[]=b&a[]=c'
Qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'repeat' })
// 'a=b&a=c'
