Node.js | querystring.parse () Метод
Метод querystring.parse () используется для синтаксического анализа строки запроса URL-адреса в объект, который содержит ключ и значения пары URL-адреса запроса. Возвращаемый объект не наследует прототипы от объекта JavaScript, поэтому обычные методы Object не будут работать. Во время синтаксического анализа предполагается формат кодировки UTF-8, если нет альтернативного формата кодировки символов. Чтобы декодировать альтернативную кодировку символов, необходимо указать параметр decodeURIComponent.
Синтаксис:
querystring.parse (str [, sep [, eq [, options]]]))
Параметры: эта функция принимает четыре параметра, как указано выше и описано ниже:
- str: это строка, указывающая URL-запрос, который необходимо проанализировать.
- sep: это строка, определяющая подстроку, используемую для разделения пар ключ и значение в указанной строке запроса. Значение по умолчанию - «&».
- eq: это строка, определяющая подстроку, используемую для разделения ключей и значений в указанной строке запроса. Значение по умолчанию - «=».
- options: это объект, который можно использовать для изменения поведения метода. Имеет следующие параметры:
- decodeURIComponent: это функция, которая будет использоваться для декодирования закодированных в процентах символов в строке запроса. Значение по умолчанию - querystring.unescape ().
- maxKeys: это число, указывающее максимальное количество ключей, которые должны быть проанализированы из строки запроса. Значение «0» снимет все ограничения подсчета. Значение по умолчанию - «1000».
Возвращаемое значение: он возвращает объект, пары ключей и значений которого были проанализированы из строки запроса.
Примеры ниже иллюстрируют метод querystring.parse () в Node.js:
Пример 1:
Node.js
// Import the querystring module const querystring = require( "querystring" ); // Specify the URL query string // to be parsed let urlQuery = "username=user1&units=kgs&units=pounds&permission=false" ; // Use the parse() method on the string let parsedObject = querystring.parse(urlQuery); console.log( "Parsed Query:" , parsedObject); // Use the parse() method on the string // with sep as `&&` and eq as `-` urlQuery = "username-user1&&units-kgs&&units-pounds&&permission-false" ; parsedObject = querystring.parse(urlQuery, "&&" , "-" ); console.log( "
Parsed Query:" , parsedObject); |
Выход:
Анализируемый запрос: [Объект: нулевой прототип] { имя пользователя: 'user1', единицы: [килограммы, фунты], разрешение: 'ложь' } Разобранный запрос: [Объект: нулевой прототип] { имя пользователя: 'user1', единицы: [килограммы, фунты], разрешение: 'ложь' }
Пример 2:
Node.js
// Import the querystring module const querystring = require( "querystring" ); // Specify the URL query string // to be parsed let urlQuery = "user=admin&articles=1&articles=2&articles=3&access=true" ; // Use the parse() method on the string // with default values let parsedObject = querystring.parse(urlQuery, "&" , "=" ); console.log( "Parsed Query:" , parsedObject); // Use the parse() method on the string // with maxKeys set to 1 parsedObject = querystring.parse(urlQuery, "&" , "=" , { maxKeys: 1 }); console.log( "
Parsed Query:" , parsedObject); // Use the parse() method on the string // with maxKeys set to 2 parsedObject = querystring.parse(urlQuery, "&" , "=" , { maxKeys: 2 }); console.log( "
Parsed Query:" , parsedObject); // Use the parse() method on the string // with maxKeys set to 0 (no limits) parsedObject = querystring.parse(urlQuery, "&" , "=" , { maxKeys: 0 }); console.log( "
Parsed Query:" , parsedObject); |
Выход:
Разобранный запрос: [Объект: нулевой прототип] { пользователь: 'admin', статьи: ['1', '2', '3'], доступ: 'правда' } Разобранный запрос: [Объект: нулевой прототип] {пользователь: 'admin'} Разобранный запрос: [Объект: нулевой прототип] {пользователь: 'admin', статьи: '1'} Разобранный запрос: [Объект: нулевой прототип] { пользователь: 'admin', статьи: ['1', '2', '3'], доступ: 'правда' }
Ссылка: https://nodejs.org/api/querystring.html#querystring_querystring_parse_str_sep_eq_options