JavaScript实现url参数转成json形式
朋友问的一个面试题:有个url,要求获取url的参数,返回值为json格式。
简单的写了下,发笔记备份。
<!DOCTYPEhtml>
<html>
<head>
<metacharset="utf-8">
<title>simpleaexampleforurltojson</title>
<script>
varurl='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';
functionurl2json(url){
varindex=-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(vari=0;i<length-1;i++){
res[arr[i].split('=')[0]]=arr[i].split('=')[1];
}
}else{
res={};
}
returnres;
};
varresult=url2json(url);
//获取json的键值对条数(模拟长度)
varlength=0;
for(variinresult){
length++;
}
//在页面输出
vartL=0;
document.write('{<br>');
for(varnameinresult){
tL++;
if(tL==length){
document.write('  '+name+':'+result[name]+'<br>');
}else{
document.write('  '+name+':'+result[name]+',<br>');
}
}
document.write('}');
</script>
</head>
<body>