如何将对象转换为查询字符串?

时间:2013-03-01 18:28:25

标签: javascript

我想将对象字符串化为查询字符串。

例如,

{ hello: '123', goodbye: "789" }

会给我......

hello=123&goodbye=789

3 个答案:

答案 0 :(得分:5)

有一个优秀的网址库,URL.js与您描述的查询功能非常相似。

对于您的示例,代码为:

URI().addSearch({ hello: '123', goodbye: "789" }).toString()

这会产生预先?的结果,但它对于构建和放置非常方便。操纵真实的URL。

答案 1 :(得分:4)

如果您在项目中使用jQuery,则不需要使用lib:

$.param({ hello: '123', goodbye: "789" })

但由于没有jQuery标记,请查看Barney答案,这可能就是您所需要的。

答案 2 :(得分:0)

以下是简单案例的代码示例:

var params={ hello: '123', goodbye: "789" },
    pairs=[];
for (var key in params) {
    if (params.hasOwnProperty(key)) {
        pairs.push(key+"="+encodeURIComponent(params[key]));
    }
};
var qs=pairs.join("&");

对于更复杂的方案,您可能希望像其他回复中所建议的那样使用URLjs等库。