Node.js | querystring.stringify () Метод

Опубликовано: 1 Августа, 2021

Метод querystring.stringify () используется для создания строки запроса URL из заданного объекта, который содержит пары ключ-значение. Метод выполняет итерацию по собственным свойствам объекта для создания строки запроса.

Он может сериализовать отдельную строку или массив строк, чисел и логических значений. Любые другие типы значений приводятся к пустым строкам.

Во время сериализации формат кодировки UTF-8 используется для кодирования любого символа, требующего процентного кодирования. Для кодирования с использованием альтернативной кодировки символов необходимо указать параметр encodeURIComponent

Синтаксис:

 querystring.stringify (obj [, sep [, eq [, options]]])

Параметры: эта функция принимает четыре параметра, как указано выше и описано ниже:

  • obj: это объект, который необходимо сериализовать в строку запроса URL.
  • sep: это строка, которая определяет подстроку, используемую для разделения пар ключ и значение в строке запроса. Значение по умолчанию - «&».
  • eq: это строка, определяющая подстроку, используемую для разделения ключей и значений в строке запроса. Значение по умолчанию - «=».
  • options: это объект, который можно использовать для изменения поведения метода. Имеет следующие параметры:
    • encodeURIComponent: это функция, которая будет использоваться для преобразования небезопасных для URL-адресов символов в процентное кодирование в строке запроса. Значение по умолчанию - querystring.escape() .

Возвращаемое значение: возвращает строку, содержащую URL-запрос, созданный для данного объекта.

Ниже программы иллюстрируют метод querystring.stringify () в Node.js:

Пример 1:




// Import the querystring module
const querystring = require( "querystring" );
// Specify the URL object
// to be serialized
let urlObject = {
user: "sam" ,
access: true ,
role: [ "admin" , "editor" , "manager" ],
};
// Use the stringify() method on the object
let parsedQuery = querystring.stringify(urlObject);
console.log( "Parsed Query:" , parsedQuery);

Выход:

 Разобранный запрос: user = sam & access = true & role = admin & role = editor & role = manager

Пример 2:




// Import the querystring module
const querystring = require( "querystring" );
// Specify the URL object
// to be serialized
let urlObject = {
user: "max" ,
access: false ,
role: [ "editor" , "manager" ],
};
// Use the stringify() method on the object
// with sep as `, ` and eq as `:`
let parsedQuery = querystring.stringify(urlObject, ", " , ":" );
console.log( "Parsed Query 1:" , parsedQuery);
// Use the stringify() method on the object
// with sep as `&&&` and eq as `==`
parsedQuery = querystring.stringify(urlObject, "&&&" , "==" );
console.log( " Parsed Query 2:" , parsedQuery);

Выход:

 Разобранный запрос 1: пользователь: макс, доступ: ложь, роль: редактор, роль: менеджер

Разобранный запрос 2: user == max &&& access == false &&& role == editor &&& role == manager

Ссылка: https://nodejs.org/api/querystring.html#querystring_querystring_stringify_obj_sep_eq_options