網上方法很多,各種奇技淫巧,這裡貼上一種較為正常的思路。
主要利用split對獲取的字串不斷進行分割,最後獲得所需要的格式。
程式碼如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>將url轉化為json資料</title>
</head>
<script>
function queryString(url){
let arr=[]; //儲存引數的陣列
let res={}; //儲存最終JSON結果物件
arr=url.split("?")[1].split("&"); //arr=["a=1", "b=2", "c=test", "d"]
for(let i=0,len=arr.length;i<len;i++){
//如果有等號,則執行賦值操作
if(arr[i].indexOf("=")!=-1){
let str=arr[i].split("=");
//str=[a,1];
res[str[0]]=str[1];
}else{//沒有等號,則賦予空值
res[arr[i]]="";
}
}
res=JSON.stringify(res);//轉化為JSON字串
return res; //{"a": "1", "b": "2", "c": "test", "d": ""}
}
console.log(queryString(`www.baidu.com?a=1&b=2&c=test&d`));
</script>
<body>
</body>
</html>