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 givenstrin 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.escapeto 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 typicalObjectmethods 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
decodeURIComponentoption 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 givenobjby 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
encodeURIComponentoption 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.unescapeto 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
0to 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.