首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在JavaScript/jQuery中将对象序列化为查询字符串

在JavaScript/jQuery中将对象序列化为查询字符串
EN

Stack Overflow用户
提问于 2010-07-22 20:33:33
回答 4查看 151.5K关注 0票数 155

我试图找到有关如何将对象序列化为查询字符串格式的信息,但我的所有搜索都淹没在如何进行其他操作的结果中(字符串/表单/JSON格式)。

我有过

代码语言:javascript
复制
{ one: 'first', two: 'second' }

我想要

代码语言:javascript
复制
?one=first&two=second

有什么好方法可以做到这一点吗?我不介意插件或诸如此类的东西-如果我找到的代码不是插件,我可能会把它重写成一个插件……

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-07-22 20:36:15

你想要$.param()http://api.jquery.com/jQuery.param/

具体地说,您需要这样:

代码语言:javascript
复制
var data = { one: 'first', two: 'second' };
var result = $.param(data);

当给出类似这样的东西时:

代码语言:javascript
复制
{a: 1, b : 23, c : "te!@#st"}

$.param将返回以下内容:

代码语言:javascript
复制
a=1&b=23&c=te!%40%23st
票数 241
EN

Stack Overflow用户

发布于 2015-06-08 19:00:49

对于一个快速的非JQuery函数...

代码语言:javascript
复制
function jsonToQueryString(json) {
    return '?' + 
        Object.keys(json).map(function(key) {
            return encodeURIComponent(key) + '=' +
                encodeURIComponent(json[key]);
        }).join('&');
}

注意,这不处理数组或嵌套对象。

票数 75
EN

Stack Overflow用户

发布于 2013-05-06 02:39:59

另一种选择可能是node-querystring

它有npmbower两种版本,这就是我一直使用它的原因。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3308846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档