JavaScript實(shí)現(xiàn)url參數(shù)轉(zhuǎn)成json形式
朋友問的一個(gè)面試題:有個(gè)url,要求獲取url 的參數(shù),返回值為json格式。
簡單的寫了下,發(fā)筆記備份。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>simple a example for url to json</title>
<script>
var url = 'https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=慕課&rsv_pq=e379bd8200001a8c&rsv_t=ea8cxrgm03IFb44zHA261P6KziPRXAekcjwsRJtUSKLUmKweFsZFXE%2BUSrU&rqlang=cn&rsv_enter=0&rs';
function url2json(url){
var index = -1,
str = '',
arr = [],
length = 0,
res = {};
if(url.indexOf('?')!=-1){
index = url.indexOf('?');
str = url.substring(index+1);
arr = str.split('&');
length = arr.length;
for(var i=0; i<length-1; i++){
res[arr[i].split('=')[0]] = arr[i].split('=')[1];
}
}else{
res = {};
}
return res;
};
var result = url2json(url);
//獲取json的鍵值對(duì)條數(shù)(模擬長度)
var length = 0;
for(var i in result){
length++;
}
//在頁面輸出
var tL = 0;
document.write('{<br>');
for(var name in result){
tL++;
if(tL == length){
document.write('  '+name+':'+result[name]+'<br>');
}else{
document.write('  '+name+':'+result[name]+',<br>');
}
}
document.write('}');
</script>
</head>
<body>
相關(guān)文章
利用js實(shí)現(xiàn)可進(jìn)行時(shí)間和工作調(diào)度的任務(wù)管理器
這篇文章主要為大家詳細(xì)介紹了如何利用js實(shí)現(xiàn)一個(gè)可進(jìn)行時(shí)間和工作調(diào)度的任務(wù)管理器,文中的示例代碼簡潔易懂,有需要的小伙伴可以參考一下2023-10-10
Javascript驗(yàn)證用戶輸入U(xiǎn)RL地址是否為空及格式是否正確
這篇文章主要介紹了Javascript驗(yàn)證用戶輸入U(xiǎn)RL地址是否為空及格式是否正確,很實(shí)用,需要的朋友可以參考下2014-10-10
解決頁面整體使用transform scale后高德地圖點(diǎn)位點(diǎn)擊偏移錯(cuò)位問題
這篇文章主要介紹了解決頁面整體使用transform scale后高德地圖點(diǎn)位點(diǎn)擊偏移錯(cuò)位問題的方法,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-01-01
javascript回調(diào)函數(shù)的概念理解與用法分析
這篇文章主要介紹了javascript回調(diào)函數(shù)的概念理解與用法,結(jié)合具體實(shí)例形式分析了javascript回調(diào)函數(shù)的功能、原理、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-05-05
thinkjs微信中控之微信鑒權(quán)登陸的實(shí)現(xiàn)代碼
這篇文章主要介紹了thinkjs微信中控之微信鑒權(quán)登陸的實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
Flex通過JS獲取客戶端IP和計(jì)算機(jī)名的實(shí)例代碼
這篇文章主要介紹了Flex通過JS獲取客戶端IP和計(jì)算機(jī)名的實(shí)例代碼,有需要的朋友可以參考一下2013-11-11
支付寶小程序自定義彈窗dialog插件的實(shí)現(xiàn)代碼
支付寶小程序官方提供的alert提示框、dialog對(duì)話框、model彈窗功能比較有限,有些都不能隨意自定義修改的。這篇文章主要介紹了支付寶小程序自定義彈窗dialog插件的實(shí)現(xiàn)代碼,需要的朋友可以參考下2018-11-11
深入學(xué)習(xí)js函數(shù)的隱式參數(shù) arguments 和 this
這篇文章主要介紹了 深入學(xué)習(xí)js函數(shù)的隱式參數(shù) arguments 和 this,arguments是一個(gè)類數(shù)組結(jié)構(gòu),它保存了調(diào)用時(shí)傳遞給函數(shù)的所有實(shí)參;this是函數(shù)執(zhí)行時(shí)的上下文對(duì)象, 這個(gè)對(duì)象有些讓人感到困惑的行為。 下面分別對(duì)他們進(jìn)行討論。,需要的朋友可以參考下2019-06-06
關(guān)于layui表單中按鈕自動(dòng)提交的解決方法
今天小編就為大家分享一篇關(guān)于layui表單中按鈕自動(dòng)提交的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-09-09
bootstrap table實(shí)現(xiàn)單擊單元格可編輯功能
這篇文章主要為大家詳細(xì)介紹了bootstrap table實(shí)現(xiàn)單擊單元格可編輯功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03

