node.js中的querystring.stringify方法使用说明

  方法说明:

  将对象转换成字符串,字符串里多个参数将用 ‘&' 分隔,将用 ‘=' 赋值。

  这个函数的操作和 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));

  };