querystring
Модуль node:querystring предоставляет утилиты для разбора и форматирования строк запроса URL. Доступ к нему можно получить следующим образом:
import querystring from 'node:querystring';
querystring производительнее, чем URLSearchParams, но не является стандартизированным API. Используйте URLSearchParams, если производительность не критична или желательна совместимость с кодом браузера.
Использование в Deno
import * as mod from "node:querystring";
функция escape
Использование в Deno
import { escape } from "node:querystring";
escape(str: string): stringМетод querystring.escape() выполняет процентное кодирование URL для заданного str способом, оптимизированным для специфических требований строк запроса URL.
Метод querystring.escape() используется методом querystring.stringify() и, как правило, не предназначен для непосредственного использования. Он экспортируется главным образом для того, чтобы прикладной код при необходимости мог предоставить альтернативную реализацию процентного кодирования, присвоив querystring.escape альтернативную функцию.
Параметры
str: string Возвращаемый тип
string функция parse
Использование в Deno
import { parse } from "node:querystring";
parse(): ParsedUrlQueryМетод querystring.parse() разбирает строку запроса URL (str) в набор пар ключ-значение.
Например, строка запроса 'foo=bar&abc=xyz&abc=123' разбирается следующим образом:
{
"foo": "bar",
"abc": ["xyz", "123"]
}
Объект, возвращаемый методом querystring.parse(), не наследует прототип от JavaScript-объекта Object. Это означает, что стандартные методы Object, такие как obj.toString(), obj.hasOwnProperty() и другие, не определены и не будут работать.
По умолчанию предполагается, что символы строки запроса, закодированные в процентах, используют кодировку UTF-8. Если используется другая кодировка символов, необходимо указать альтернативный параметр decodeURIComponent:
// Assuming gbkDecodeURIComponent function already exists...
querystring.parse('w=%D6%D0%CE%C4&foo=bar', null, null,
{ decodeURIComponent: gbkDecodeURIComponent });
Параметры
str: string Строка запроса URL для разбора
sep: string = '&' Подстрока, используемая для разделения пар ключ-значение в строке запроса.
eq: string = '=' Подстрока, используемая для разделения ключей и значений в строке запроса.
options: ParseOptions Возвращаемый тип
функция stringify
Использование в Deno
import { stringify } from "node:querystring";
stringify(): stringМетод querystring.stringify() формирует строку запроса URL из заданного obj, перебирая «собственные свойства» объекта.
Он сериализует следующие типы значений, переданных в obj: строка | число | bigint | логическое значение | массив строк | массив чисел | массив bigint | массив логических значений. Числовые значения должны быть конечными. Все остальные входные значения будут преобразованы в пустые строки.
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'
По умолчанию символы строки запроса, требующие процентного кодирования, будут закодированы в UTF-8. Если требуется другая кодировка, необходимо указать альтернативный параметр encodeURIComponent:
// Assuming gbkEncodeURIComponent function already exists,
querystring.stringify({ w: '中文', foo: 'bar' }, null, null,
{ encodeURIComponent: gbkEncodeURIComponent });
Параметры
obj: ParsedUrlQueryInput Объект для сериализации в строку запроса URL
sep: string = '&' Подстрока, используемая для разделения пар ключ-значение в строке запроса.
eq: string = '=' . Подстрока, используемая для разделения ключей и значений в строке запроса.
options: StringifyOptions Возвращаемый тип
string функция unescape
Использование в Deno
import { unescape } from "node:querystring";
unescape(str: string): stringМетод querystring.unescape() декодирует символы URL с процентным кодированием в заданном str.
Метод querystring.unescape() используется методом querystring.parse() и, как правило, не предназначен для непосредственного использования. Он экспортируется главным образом для того, чтобы прикладной код при необходимости мог предоставить альтернативную реализацию декодирования, присвоив querystring.unescape альтернативную функцию.
По умолчанию метод querystring.unescape() будет пытаться использовать встроенный метод JavaScript decodeURIComponent() для декодирования. Если это не удастся, будет использован более безопасный эквивалент, который не вызывает исключение для некорректных URL.
Параметры
str: string Возвращаемый тип
string интерфейс ParsedUrlQuery
Использование в Deno
import { type ParsedUrlQuery } from "node:querystring";
интерфейс ParsedUrlQueryInput
| number
| boolean
| readonly string[]
| readonly number[]
| readonly boolean[]
| null
Использование в Deno
import { type ParsedUrlQueryInput } from "node:querystring";
интерфейс ParseOptions
Использование в Deno
import { type ParseOptions } from "node:querystring";
Свойства
maxKeys: number | undefined Задает максимальное количество ключей для разбора. Укажите 0, чтобы снять ограничения на подсчет ключей.
decodeURIComponent: ((str: string) => string) | undefined Функция, используемая при декодировании символов с процентным кодированием в строке запроса.
интерфейс StringifyOptions
Использование в Deno
import { type StringifyOptions } from "node:querystring";
Модуль node:querystring предоставляет утилиты для разбора и форматирования строк запроса URL. Доступ к нему можно получить следующим образом:
import querystring from 'node:querystring';
querystring производительнее, чем URLSearchParams, но не является стандартизированным API. Используйте URLSearchParams, если производительность не критична или желательна совместимость с кодом браузера.
Свойства
encodeURIComponent: ((str: string) => string) | undefined Функция, используемая для преобразования символов, небезопасных для URL, в процентное кодирование в строке запроса.
См. также
© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/api/node/querystring