2011-03-23 29 views
2

我有一个javascript变量,它是querystring的键值对的字典。我需要再次将此字典转换为查询字符串。我使用jquery.param functin,但它需要一个数组或对象。我怎样才能将我的dictinoary变量转换为jquery.params可以接受的数组/对象。将JavaScript字典转换为要传入的数组/对象jquery.params

尝试使用serializeArray,但它不起作用。

+0

您可以添加一个用于初始化此字典的代码示例吗?我们的两个答案都涉及对您的代码做出某些假设! :) – 2011-03-23 13:07:44

回答

8

jQuery.param方法可以使用一个数组我以这种形式:

[{ name: 'asdf', value: '42' },{ name: 'qwerty', value: '1337' }] 

如果你的字典里有其他财产的名称,你可以使用jQuery.map方法将其转换。例如:

arr = $.map(arr, function(e){ 
    return { name: e.key, value: e.val }; 
}); 
5

如果我通过 “字典” 理解你的问题的权利(!一些代码样本将帮助),你的意思是像建筑:

var dict = { key1: value1, key2: value2 … }

或:

var dict = {}; 
dict[key1] = value1; 
dict[key2] = value2;

或可能:

var dict = {}; 
dict.key1 = value1; 
dict.key2 = value2;

如果是这样,你应该知道全部的t hese正在做同样的事情,即设置JavaScript对象的属性,并且应该通过jQuery.param正确序列化。简洁地说,JavaScript对象≈词典。

相关问题