qs是一個npm倉庫所管理的包,可通過npm install qs
命令進行安裝.
import qs from 'qs'
qs.parse(location.search.replace(/^\?/, ''))
const url = "http://localhost:8000/abcd?aa=111&bb=222"
const qsObject = qs.parse(location.search.replace(/^\?/, ''))
// location.search.replace(/^\?/, '') = "aa=111&bb=222"
// qsObject = {aa:11,bb:22}
qs.parse()、qs.stringify()、JSON.parse()、JSON.stringify()使用方法
一、JSON.parse(用於從一個字符串中解析出json 對象)ps:單引號寫在{}外,每個屬性都必須雙引號,否則會拋出異常
let str = '[{"field":"thedate","v1":"20170102"},{"field":"rev_type","v1":"大數據收入"},{"field":"thismonth","v1":"201708"},{"field":"nextmonth","v1":"201709"},{"field":"depart_type","v1":"leader"},{"field":"admin_emp_id","v1":"role"}]';
JSON.parse(str);//str必須滿足引號使用規範,即:雙引號和單引號相互嵌套
[
{field: "thedate", v1: "20170102"},
{field: "rev_type", v1: "大數據收入"},
{field: "thismonth", v1: "201708"},
{field: "nextmonth", v1: "201709"},
{field: "depart_type", v1: "leader"},
{field: "admin_emp_id", v1: "role"}
]
二、JSON.stringify(用於從一個對象解析出字符串)
let arr=[
{field: "thedate", v1: "20170102"},
{field: "rev_type", v1: "大數據收入"},
{field: "thismonth", v1: "201708"},
{field: "nextmonth", v1: "201709"},
{field: "depart_type", v1: "leader"},
{field: "admin_emp_id", v1: "role"}
]
JSON.stringify(arr);
//全是雙引號
"[{"field":"thedate","v1":"20170102"},{"field":"rev_type","v1":"大數據收入"},{"field":"thismonth","v1":"201708"},{"field":"nextmonth","v1":"201709"},{"field":"depart_type","v1":"leader"},{"field":"admin_emp_id","v1":"role"}]"
三、qs.parse()將URL解析成對象的形式
let url = 'method=query_sql_dataset_data&projectId=85&appToken=7d22e38e-5717-11e7-907b-a6006ad3dba0';
qs.parse(url);
//{method: "query_sql_dataset_data", projectId: "85", appToken: "7d22e38e-5717-11e7-907b-a6006ad3dba0"}
四、qs.stringify( )將對象解析成URL的形式
let obj= {method: "query_sql_dataset_data", projectId: "85", appToken: "7d22e38e-5717-11e7-907b-a6006ad3dba0", datasetId: " 12564701"};
qs.stringify( obj)
//{method: "query_sql_dataset_data", projectId: "85", appToken: "7d22e38e-5717-11e7-907b-a6006ad3dba0", datasetId: " 12564701"}