使用jQuery将JSON转换为查询字符串并从查询字符串转换回JSON?

5

我有一个字符串,像这样 a=6&id=99 (我可能会将其存储在html中作为'a=6&id=99',但这不是js将看到的)。我想将该字符串转换为对象,以便我可以执行 func(o.a); 或 o.id=44; 我该怎么做?

第二部分:如何将该对象转换回查询字符串?这可能是一些我可以编写的微不足道的代码。

2个回答

12

11
// convert string to object
str = 'a=6&id=99';
var arr = str.split('&');
var obj = {};
for(var i = 0; i < arr.length; i++) {
    var bits = arr[i].split('=');
    obj[bits[0]] = bits[1];
}
//alert(obj.a);
//alert(obj.id);

// convert object back to string
str = '';
for(key in obj) {
    str += key + '=' + obj[key] + '&';
}
str = str.slice(0, str.length - 1); 
alert(str);

在这里尝试:http://jsfiddle.net/DUpQA/1/


1
你需要将这个函数变成递归函数来处理所有的JSON对象吗? - Ben G

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接