JS將網(wǎng)址url轉(zhuǎn)化為JSON格式的方法
網(wǎng)上方法很多,各種奇技淫巧,這里貼上一種較為正常的思路。
主要利用split對(duì)獲取的字符串不斷進(jìn)行分割,最后獲得所需要的格式。
代碼如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>將url轉(zhuǎn)化為json數(shù)據(jù)</title>
</head>
<script>
function queryString(url){
let arr=[]; //存儲(chǔ)參數(shù)的數(shù)組
let res={}; //存儲(chǔ)最終JSON結(jié)果對(duì)象
arr=url.split("?")[1].split("&"); //arr=["a=1", "b=2", "c=test", "d"]
for(let i=0,len=arr.length;i<len;i++){
//如果有等號(hào),則執(zhí)行賦值操作
if(arr[i].indexOf("=")!=-1){
let str=arr[i].split("=");
//str=[a,1];
res[str[0]]=str[1];
}else{//沒有等號(hào),則賦予空值
res[arr[i]]="";
}
}
res=JSON.stringify(res);//轉(zhuǎn)化為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>
總結(jié)
以上所述是小編給大家介紹的JS將網(wǎng)址url轉(zhuǎn)化為JSON格式的方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
bootstrap 下拉多選框進(jìn)行多選傳值問題代碼分析
項(xiàng)目開發(fā)遇到個(gè)問題,就是引入bootstrap下拉多選框進(jìn)行多選的時(shí)候,用form表單提交到后臺(tái),獲取不到多選的值,只能獲取的選擇的第一個(gè)值,怎么回事呢?下面小編給大家分析下bootstrap 下拉多選框進(jìn)行多選傳值問題,一起看看吧2017-02-02
JS實(shí)現(xiàn)對(duì)JSON數(shù)據(jù)進(jìn)行冒泡排序
JavaScript 是一種廣泛使用的腳本語言,JSON是一種常見的數(shù)據(jù)格式,這篇文章主要來探討一下如何使用 JavaScript 對(duì) JSON 數(shù)據(jù)進(jìn)行冒泡排序,感興趣的可以了解一下2023-06-06
利用js判斷數(shù)據(jù)是否是數(shù)組或字符串的常見方法
這篇文章主要給大家介紹了關(guān)于利用js判斷數(shù)據(jù)是否是數(shù)組或字符串的常見方法,其實(shí)有很多方法可以判斷數(shù)據(jù)是否是數(shù)組或字符串,需要的朋友可以參考下2023-07-07
underscore之Chaining_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
本文通過文字說明與代碼的形式給大家介紹了underscore之Chaining的相關(guān)知識(shí),感興趣的朋友一起學(xué)習(xí)吧2017-07-07
關(guān)于編寫性能高效的javascript事件的技術(shù)
這篇文章主要介紹了關(guān)于編寫性能高效的javascript事件的技術(shù) ,需要的朋友可以參考下2014-11-11
微信小程序開發(fā)之map地圖實(shí)現(xiàn)教程
相信大家現(xiàn)在都知道微信小程序吧,下面這篇文章主要給大家介紹了微信小程序開發(fā)之map地圖的相關(guān)資料,分享出來供大家參考學(xué)習(xí),文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-06-06

