js(6) qs.parse()、qs.stringify()、JSON.parse()、JSON.stringify()使用方法,把url的參數進行parse轉換

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"}








 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章