如何在JavaScript中将对象转换为参数
作为JavaScript开发人员,您通常需要构建URL和查询字符串参数。构造查询字符串参数的一种合理方法是使用具有键值对的单层对象。
在本指南中,我们将介绍如何转换对象的各种方法:
var params = {
a: 1,
b: 2,
c: 3
};
到这样的查询字符串:
"a=1&b=2&c=3"
如果您正在使用现代浏览器(或节点),您可以使用它map
来创建一个字符串数组a=1
,然后使用join
它们将它们连接在一起&
。
ES6
var queryString = Object.keys(params).map(key => key + '=' + params[key]).join('&');
ES5
var queryString = Object.keys(params).map(function(key) {
return key + '=' + params[key]
}).join('&');
如果您是那种使用jQuery的人,那么您可以随时获得一个解决方案:
var queryString = $.param(params);
如果您正在使用节点,则可以使用查询字符串模块:
const querystring = require('querystring');
let queryString = querystring.stringify(params);
如果你知道你的密钥和值需要编码,你应该这样使用encodeURIComponent
:
var queryString = Object.keys(params).map((key) => {
return encodeURIComponent(key) + '=' + encodeURIComponent(params[key])
}).join('&');
您还感兴趣的文章