將網址url中的引數轉化為JSON格式

Alphabet。發表於2018-07-01

網上方法很多,各種奇技淫巧,這裡貼上一種較為正常的思路。
主要利用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>

相關文章