当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js querystring.parse()用法及代码示例


querystring.parse()方法用于将URL查询字符串解析为包含查询URL的键和对值的对象。返回的对象不会从JavaScript对象继承原型,因此常规的Object方法将不起作用。在解析过程中,除非有其他字符编码格式,否则均采用UTF-8编码格式。要解码其他字符编码,必须指定encodeURIComponent选项。

用法:

querystring.parse( str[, sep[, eq[, options]]]) )

参数:该函数接受上述和以下所述的四个参数:

  • str:它是一个字符串,它指定必须解析的URL查询。
  • sep:它是一个字符串,它指定用于分隔指定查询字符串中的键和值对的子字符串。默认值为“&”。
  • eq:它是一个字符串,它指定用于分隔指定查询字符串中的键和值的子字符串。默认值为“=”。
  • options:它是可用于修改方法行为的对象。它具有以下参数:
    • decodeURIComponent:此函数将用于解码查询字符串中的percent-encoded个字符。默认值为querystring.unescape()。
    • maxKeys:它是一个数字,它指定应从查询字符串中解析的最大键数。值“0”将删除所有计数限制。默认值为“1000”。

返回值:它返回一个对象,该对象具有从查询字符串中解析的键和值对。

以下示例说明了Node.js中的querystring.parse()方法:



范例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);

输出:

Parsed Query:[Object:null prototype] {
  username:'user1',
  units:[ 'kgs', 'pounds' ],
  permission:'false'
}

Parsed Query:[Object:null prototype] {
  username:'user1',
  units:[ 'kgs', 'pounds' ],
  permission:'false'
}

范例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);

输出:

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'
}

参考: https://nodejs.org/api/querystring.html#querystring_querystring_parse_str_sep_eq_options




相关用法


注:本文由纯净天空筛选整理自sayantanm19大神的英文原创作品 Node.js | querystring.parse() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。