将URL转换为json

php*_*_qq 15 javascript url json

我似乎找不到这个问题的答案..如何在javascript中将URL参数字符串转换为JSON?我的意思是问是否有像这样的内置功能或单线程可以完成这项工作?

例:

some=params&over=here => {"some":"params","over":"here"}

Sat*_*pal 25

试试这个

var params = getUrlVars('some=params&over=here');
console.log(params);

function getUrlVars(url) {
    var hash;
    var myJson = {};
    var hashes = url.slice(url.indexOf('?') + 1).split('&');
    for (var i = 0; i < hashes.length; i++) {
        hash = hashes[i].split('=');
        myJson[hash[0]] = hash[1];
        // If you want to get in native datatypes
        // myJson[hash[0]] = JSON.parse(hash[1]); 
    }
    return myJson;
}
Run Code Online (Sandbox Code Playgroud)

演示:http://jsfiddle.net/jAGN5/


1ns*_*nct 6

尝试这个 :

var str = 'some1=param&some2=param2';

JSON.parse('{"' + decodeURI(str).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g,'":"').replace(/\s/g,'') + '"}')

// {some1: "param1", some2: "param2"}
Run Code Online (Sandbox Code Playgroud)