Javascript json对象的字符串URL

Javascript json对象的字符串URL,javascript,jquery,json,Javascript,Jquery,Json,我试图从字符串URL生成JSON对象,但没有成功 我有这个: var URL = "http://localhost/index.php?module=search&param1=4"; 我需要这个: var dir = index.php; var result = { module:'search', param1:4 }; 有人能帮我写代码吗?在这里发布链接并不完全正确,但在这种情况下,OP需要的只是一些库来

我试图从字符串URL生成JSON对象,但没有成功

我有这个:

var URL = "http://localhost/index.php?module=search&param1=4";
我需要这个:

var dir = index.php;
var result = {
           module:'search',
           param1:4
             };

有人能帮我写代码吗?

在这里发布链接并不完全正确,但在这种情况下,OP需要的只是一些库来解析URL


这里是:

在这里发布链接并不完全正确,但在这种情况下,OP需要的只是一些库来解析URL


这里是:

这个简单的javascript就可以做到这一点

url = "http://localhost/index.php?module=search&param1=4";
var parameters = url.split("?");
var string_to_be_parsed = parameters[1];

var param_pair_string = string_to_be_parsed.split("&");
alert(param_pair_string.length);
var i = 0;
var json_string = "{"

for(;i<param_pair_string.length;i++){
var pair = param_pair_string[i].split("=");
if(i < param_pair_string.length - 1 )
 json_string +=  pair[0] + ":'" + pair[1] + "',";
else
 json_string +=  pair[0] + ":'" + pair[1] + "'";
}

json_string += "}";
alert(json_string);
url=”http://localhost/index.php?module=search¶m1=4";
var参数=url.split(“?”);
var string_to_be_parsed=参数[1];
var param_pair_string=string_to_be_parsed.split(“&”);
警报(参数对字符串长度);
var i=0;
var json_string=“{”

对于(;i这个简单的javascript就可以做到这一点

url = "http://localhost/index.php?module=search&param1=4";
var parameters = url.split("?");
var string_to_be_parsed = parameters[1];

var param_pair_string = string_to_be_parsed.split("&");
alert(param_pair_string.length);
var i = 0;
var json_string = "{"

for(;i<param_pair_string.length;i++){
var pair = param_pair_string[i].split("=");
if(i < param_pair_string.length - 1 )
 json_string +=  pair[0] + ":'" + pair[1] + "',";
else
 json_string +=  pair[0] + ":'" + pair[1] + "'";
}

json_string += "}";
alert(json_string);
url=”http://localhost/index.php?module=search¶m1=4";
var参数=url.split(“?”);
var string_to_be_parsed=参数[1];
var param_pair_string=string_to_be_parsed.split(“&”);
警报(参数对字符串长度);
var i=0;
var json_string=“{”

对于(;i,此函数可以从字符串URL解析变量数组:

function url2json(url) {
   var obj={};

   function arr_vals(arr){
      if (arr.indexOf(',') > 1){
         var vals = arr.slice(1, -1).split(',');
         var arr = [];
         for (var i = 0; i < vals.length; i++)
            arr[i]=vals[i];
         return arr;
      }
      else
         return arr.slice(1, -1);
   }

   function eval_var(avar){
      if (avar[1].indexOf('[') == 0)
         obj[avar[0]] = arr_vals(avar[1]);
      else
         obj[avar[0]] = avar[1];
   }

   if (url.indexOf('?') > -1){
      var params = url.split('?')[1];
      if(params.indexOf('&') > 2){
         var vars = params.split('&');
         for (var i in vars)
            eval_var(vars[i].split('='));
      }
      else
         eval_var(params.split('='));
   }

   return obj;
}
给出:

"search"
"4"

如果要将
“4”
转换为整数,则必须手动执行。

此函数可以从字符串URL解析变量数组:

function url2json(url) {
   var obj={};

   function arr_vals(arr){
      if (arr.indexOf(',') > 1){
         var vals = arr.slice(1, -1).split(',');
         var arr = [];
         for (var i = 0; i < vals.length; i++)
            arr[i]=vals[i];
         return arr;
      }
      else
         return arr.slice(1, -1);
   }

   function eval_var(avar){
      if (avar[1].indexOf('[') == 0)
         obj[avar[0]] = arr_vals(avar[1]);
      else
         obj[avar[0]] = avar[1];
   }

   if (url.indexOf('?') > -1){
      var params = url.split('?')[1];
      if(params.indexOf('&') > 2){
         var vars = params.split('&');
         for (var i in vars)
            eval_var(vars[i].split('='));
      }
      else
         eval_var(params.split('='));
   }

   return obj;
}
给出:

"search"
"4"

如果你想将
“4”
转换成整数,你必须手动操作。

还有一个jQuery(不是真的)版本:@zerkms很好用,这正是我需要的,如果你想让我接受,就发布答案。谢谢!!还有一个jQuery(不是真的)版本:@zerkms非常有效,这正是我需要的,如果你想让我接受,请发布答案。谢谢!!