This changes the code blocks from 4-space indentation to ``` fences for better syntax highlighting and future linting support. Minor On-the-fly changes for typos and highlight breaking markdown have been made. JSON-Style objects have been changed so their closing bracket is on the same line as the opening one. Known issues: * Not every JSON / object notation has been improved. Should make another run for this. * Some example functions break hightlighting due to various combinations of brackets. However changing them means leaving the code style. Fixes: https://github.com/nodejs/node/issues/4726 PR-URL: https://github.com/nodejs/node/pull/4733 Reviewed-By: Roman Reiss <me@silverwind.io>
2.2 KiB
Query String
Stability: 2 - Stable
This module provides utilities for dealing with query strings. It provides the following methods:
querystring.escape
The escape function used by querystring.stringify,
provided so that it could be overridden if necessary.
querystring.parse(str[, sep][, eq][, options])
Deserialize a query string to an object.
Optionally override the default separator ('&') and assignment ('=')
characters.
Options object may contain maxKeys property (equal to 1000 by default), it'll
be used to limit processed keys. Set it to 0 to remove key count limitation.
Options object may contain decodeURIComponent property (querystring.unescape by default),
it can be used to decode a non-utf8 encoding string if necessary.
Example:
querystring.parse('foo=bar&baz=qux&baz=quux&corge')
// returns
{ foo: 'bar', baz: ['qux', 'quux'], corge: '' }
// Suppose gbkDecodeURIComponent function already exists,
// it can decode `gbk` encoding string
querystring.parse('w=%D6%D0%CE%C4&foo=bar', null, null,
{ decodeURIComponent: gbkDecodeURIComponent })
// returns
{ w: '中文', foo: 'bar' }
querystring.stringify(obj[, sep][, eq][, options])
Serialize an object to a query string.
Optionally override the default separator ('&') and assignment ('=')
characters.
Options object may contain encodeURIComponent property (querystring.escape by default),
it can be used to encode string with non-utf8 encoding if necessary.
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'
// Suppose gbkEncodeURIComponent function already exists,
// it can encode string with `gbk` encoding
querystring.stringify({ w: '中文', foo: 'bar' }, null, null,
{ encodeURIComponent: gbkEncodeURIComponent })
// returns
'w=%D6%D0%CE%C4&foo=bar'
querystring.unescape
The unescape function used by querystring.parse,
provided so that it could be overridden if necessary.
It will try to use decodeURIComponent in the first place,
but if that fails it falls back to a safer equivalent that
doesn't throw on malformed URLs.