Javascript json对象的字符串URL
我试图从字符串URL生成JSON对象,但没有成功 我有这个:Javascript json对象的字符串URL,javascript,jquery,json,Javascript,Jquery,Json,我试图从字符串URL生成JSON对象,但没有成功 我有这个: var URL = "http://localhost/index.php?module=search¶m1=4"; 我需要这个: var dir = index.php; var result = { module:'search', param1:4 }; 有人能帮我写代码吗?在这里发布链接并不完全正确,但在这种情况下,OP需要的只是一些库来
var URL = "http://localhost/index.php?module=search¶m1=4";
我需要这个:
var dir = index.php;
var result = {
module:'search',
param1:4
};
有人能帮我写代码吗?在这里发布链接并不完全正确,但在这种情况下,OP需要的只是一些库来解析URL
这里是:在这里发布链接并不完全正确,但在这种情况下,OP需要的只是一些库来解析URL
这里是:这个简单的javascript就可以做到这一点
url = "http://localhost/index.php?module=search¶m1=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¶m1=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非常有效,这正是我需要的,如果你想让我接受,请发布答案。谢谢!!