利用js实现url参数转json

分类:js

需求

将 url 的参数部分转化为 json 对象

方法一

1
2
3
4
5
6
7
8
9
function UrlToJson1() {
let url = window.location.href.split("?")[1]; //获取?后面的参数
let urls = url.split("&"); //将参数分割成数组
let json = new Object();
for (let i = 0; i < urls.length; i++) {
json[urls[i].split("=")[0]] = urls[i].split("=")[1];
}
return json;
}

这样,我们就可以根据key值来获取具体的参数值了:

1
2
3
// http://www.xxx.com?a=1&b=2&c=3
UrlToJson1("a");
// 输出1

方法二

可以使用正则的方式

1
2
3
4
5
6
7
8
9
function UrlToJson2() {
let json = {}; //定义数组
window.location.href
.split("?")[1]
.replace(/(\w+)=(\w+)/gi, function(a, b, c) {
json[b] = unescape(c);
});
return json;
}

同样,我们就可以根据key值来获取具体的参数值

1
2
3
// http://www.xxx.com?a=1&b=2&c=3
UrlToJson2("a");
// 输出1