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 moduleconst querystring = require( "querystring" ); // Specify the URL query string// to be parsedlet urlQuery = "username=user1&units=kgs&units=pounds&permission=false" ; // Use the parse() method on the stringlet 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 moduleconst querystring = require( "querystring" ); // Specify the URL query string// to be parsedlet urlQuery = "user=admin&articles=1&articles=2&articles=3&access=true" ; // Use the parse() method on the string// with default valueslet parsedObject = querystring.parse(urlQuery, "&" , "=" ); console.log( "Parsed Query:" , parsedObject); // Use the parse() method on the string// with maxKeys set to 1parsedObject = querystring.parse(urlQuery, "&" , "=" , { maxKeys: 1 }); console.log( "
Parsed Query:" , parsedObject); // Use the parse() method on the string// with maxKeys set to 2parsedObject = 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