方法说明:
将对象转换成字符串,字符串里多个参数将用 ‘&' 分隔,将用 ‘=' 赋值。
这个函数的操作和 querystring.parse() 是相反的,具体可以看一下例子就了解了。
语法:
querystring.stringify(obj, [sep], [eq])
接收参数:
obj 欲转换的对象
sep 设置分隔符,默认为 ‘&'
eq 设置赋值符,默认为 ‘='
例子:
querystring.stringify({ foo: 'bar', baz: ['qux', 'quux'], corge: '' }) // returns 'foo=bar&baz=qux&baz=quux&corge=' querystring.stringify({foo: 'bar', baz: 'qux'}, ';', ':') // returns 'foo:bar;baz:qux'
源码:
QueryString.stringify = QueryString.encode = function(obj, sep, eq, name) { sep = sep || '&'; eq = eq || '='; if (util.isNull(obj)) { obj = undefined; } if (util.isObject(obj)) { return Object.keys(obj).map(function(k) { var ks = QueryString.escape(stringifyPrimitive(k)) + eq; if (util.isArray(obj[k])) { return obj[k].map(function(v) { return ks + QueryString.escape(stringifyPrimitive(v)); }).join(sep); } else { return ks + QueryString.escape(stringifyPrimitive(obj[k])); } }).join(sep); } if (!name) return ''; return QueryString.escape(stringifyPrimitive(name)) + eq + QueryString.escape(stringifyPrimitive(obj)); };