The querystring.decode() function is an alias for querystring.parse().
Node.js module
querystring
The 'node:querystring'
module provides utilities for parsing and formatting URL query strings. It includes parse
and stringify
methods.
Works in Bun
Fully implemented. 100% of Node.js's test suite passes.
- str: string): string;
The
querystring.escape()
method performs URL percent-encoding on the givenstr
in a manner that is optimized for the specific requirements of URL query strings.The
querystring.escape()
method is used byquerystring.stringify()
and is generally not expected to be used directly. It is exported primarily to allow application code to provide a replacement percent-encoding implementation if necessary by assigningquerystring.escape
to an alternative function. - str: string,sep?: string,eq?: string,
The
querystring.parse()
method parses a URL query string (str
) into a collection of key and value pairs.For example, the query string
'foo=bar&abc=xyz&abc=123'
is parsed into:{ "foo": "bar", "abc": ["xyz", "123"] }
The object returned by the
querystring.parse()
method does not prototypically inherit from the JavaScriptObject
. This means that typicalObject
methods such asobj.toString()
,obj.hasOwnProperty()
, and others are not defined and will not work.By default, percent-encoded characters within the query string will be assumed to use UTF-8 encoding. If an alternative character encoding is used, then an alternative
decodeURIComponent
option will need to be specified:// Assuming gbkDecodeURIComponent function already exists... querystring.parse('w=%D6%D0%CE%C4&foo=bar', null, null, { decodeURIComponent: gbkDecodeURIComponent });
@param strThe URL query string to parse
@param sepThe substring used to delimit key and value pairs in the query string.
@param eqThe substring used to delimit keys and values in the query string.
- sep?: string,eq?: string,): string;
The
querystring.stringify()
method produces a URL query string from a givenobj
by iterating through the object's "own properties".It serializes the following types of values passed in
obj
: string | number | bigint | boolean | string[] | number[] | bigint[] | boolean[] The numeric values must be finite. Any other input values will be coerced to empty strings.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'
By default, characters requiring percent-encoding within the query string will be encoded as UTF-8. If an alternative encoding is required, then an alternative
encodeURIComponent
option will need to be specified:// Assuming gbkEncodeURIComponent function already exists, querystring.stringify({ w: '中文', foo: 'bar' }, null, null, { encodeURIComponent: gbkEncodeURIComponent });
@param objThe object to serialize into a URL query string
@param sepThe substring used to delimit key and value pairs in the query string.
@param eq. The substring used to delimit keys and values in the query string.
- str: string): string;
The
querystring.unescape()
method performs decoding of URL percent-encoded characters on the givenstr
.The
querystring.unescape()
method is used byquerystring.parse()
and is generally not expected to be used directly. It is exported primarily to allow application code to provide a replacement decoding implementation if necessary by assigningquerystring.unescape
to an alternative function.By default, the
querystring.unescape()
method will attempt to use the JavaScript built-indecodeURIComponent()
method to decode. If that fails, a safer equivalent that does not throw on malformed URLs will be used.
Type definitions
interface ParsedUrlQuery
interface ParsedUrlQueryInput
interface ParseOptions
- decodeURIComponent?: (str: string) => string
The function to use when decoding percent-encoded characters in the query string.
- maxKeys?: number
Specifies the maximum number of keys to parse. Specify
0
to remove key counting limitations.
interface StringifyOptions
- encodeURIComponent?: (str: string) => string
The function to use when converting URL-unsafe characters to percent-encoding in the query string.