Description of the querystring.stringify method in node.js

  • 2020-03-30 04:36:11
  • OfStack

Method description:

Converts an object to a string in which multiple arguments are separated by '&' and assigned by' ='.

The operation of this function and (link: #) is the opposite, you can see the specific example.

Grammar:


querystring.stringify(obj, [sep], [eq])

Receiving parameters:

Obj                                                                                Object to be converted
Sep                                                                              Set the separator to '&' by default
Eq                                                                                  Set the assignment character to '=' by default

Example:


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'

Source:


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));
};


Related articles: