将网址url中的参数转化为JSON格式
网上方法很多,各种奇技淫巧,这里贴上一种较为正常的思路。
主要利用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>