【发布时间】:2013-12-19 09:30:58
【问题描述】:
希望您会发现以下函数对于将查询字符串转换为 json 对象很有用
var queryStringToJSON = function (url) {
if (url === '')
return '';
var pairs = (url || location.search).slice(1).split('&');
var result = {};
for (var idx in pairs) {
var pair = pairs[idx].split('=');
if (!!pair[0])
result[pair[0].toLowerCase()] = decodeURIComponent(pair[1] || '');
}
return result;
}
用法:
获取当前windows查询字符串
var result = queryStringToJSON() // without any parameter
从自定义查询字符串中获取 json:
var result = queryStringToJSON('?name=prem&age=30&HEIGHT=5.8')
输出: {name:"prem", age:"30", height:"5.8"} //All keys are converted into small letters
要将其转换回 url,您可以使用 jQuery 参数 方法
$.param(result)
要操作您的查询字符串,您可以简单地使用 JavaScript 中的标准对象操作并再次使用 $.param 方法
result.age=35;
delete result['name'];
【问题讨论】:
-
那么你的问题是什么?
-
他刚刚发布了他有用的功能来帮助别人......所以这里没有问题......
-
那为什么我会在“问题”部分找到这个?
-
谢谢@premChandaraSingh
-
这似乎不适用于数组:例如:?=name=Tom&name=Jeff
标签: javascript jquery json query-string