El método querystring.parse() se usa para analizar una string de consulta de URL en un objeto que contiene la clave y los valores de par de la URL de consulta. El objeto devuelto no hereda los prototipos del objeto JavaScript, por lo tanto, los métodos habituales de Object no funcionarán. Durante el análisis, se asume el formato de codificación UTF-8 a menos que haya un formato de codificación de caracteres alternativo. Para decodificar la codificación de caracteres alternativa, se debe especificar la opción decodeURIComponent.
Sintaxis:
querystring.parse( str[, sep[, eq[, options]]]) )
Parámetros: esta función acepta cuatro parámetros, como se mencionó anteriormente y se describe a continuación:
- str: es una string que especifica la consulta de URL que debe analizarse.
- sep: es una string que especifica la substring utilizada para delimitar los pares de clave y valor en la string de consulta especificada. El valor predeterminado es «&».
- eq: es una string que especifica la substring utilizada para delimitar claves y valores en la string de consulta especificada. El valor predeterminado es “=”.
- opciones: Es un objeto que se puede utilizar para modificar el comportamiento del método. Tiene los siguientes parámetros:
- decodeURIComponent: es una función que se usaría para decodificar caracteres codificados en porcentaje en la string de consulta. El valor predeterminado es querystring.unescape().
- maxKeys: es un número que especifica el número máximo de claves que deben analizarse de la string de consulta. Un valor de «0» eliminaría todos los límites de conteo. El valor predeterminado es «1000».
Valor devuelto: Devuelve un objeto que tiene los pares clave y valor analizados de la string de consulta.
Los siguientes ejemplos ilustran el método querystring.parse() en Node.js:
Ejemplo 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("\nParsed Query:", parsedObject);
Producción:
Parsed Query: [Object: null prototype] { username: 'user1', units: [ 'kgs', 'pounds' ], permission: 'false' } Parsed Query: [Object: null prototype] { username: 'user1', units: [ 'kgs', 'pounds' ], permission: 'false' }
Ejemplo 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("\nParsed Query:", parsedObject); // Use the parse() method on the string // with maxKeys set to 2 parsedObject = querystring.parse(urlQuery, "&", "=", { maxKeys: 2 }); console.log("\nParsed Query:", parsedObject); // Use the parse() method on the string // with maxKeys set to 0 (no limits) parsedObject = querystring.parse(urlQuery, "&", "=", { maxKeys: 0 }); console.log("\nParsed Query:", parsedObject);
Producción:
Parsed Query: [Object: null prototype] { user: 'admin', articles: [ '1', '2', '3' ], access: 'true' } Parsed Query: [Object: null prototype] { user: 'admin' } Parsed Query: [Object: null prototype] { user: 'admin', articles: '1' } Parsed Query: [Object: null prototype] { user: 'admin', articles: [ '1', '2', '3' ], access: 'true' }
Referencia: https://nodejs.org/api/querystring.html#querystring_querystring_parse_str_sep_eq_options
Publicación traducida automáticamente
Artículo escrito por sayantanm19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA