1.parse
在 Node.js
中,querystring
是一个用于解析和字符串化 URL
查询字符串的内置模块。
js
const querystring = require('node:querystring')
const str1 = 'name=JohnDoe&age=30'
const str2 = '?name=JohnDoe&age=30'
const str3 = 'foo=1&foo=2&foo=3'
const str4 = 'a[b]=1&a[c]=2'
const result1 = querystring.parse(str1) // { name: 'JohnDoe', age: '30' }
console.log(result1)
const result2 = querystring.parse(str2) // { '?name': 'JohnDoe', age: '30' }
console.log(result2)
const result3 = querystring.parse(str3) // { foo: [ '1', '2', '3' ] }
console.log(result3)
const result4 = querystring.parse(str4) // { 'a[b]': '1', 'a[c]': '2' }
console.log(result4)
2.stringify
js
const querystring = require('node:querystring')
const stringified = querystring.stringify({ name: 'JohnDoe', age: 30 })
console.log(stringified) // 'name=JohnDoe&age=30'
3.encode&decode
js
/*
1. The querystring.encode() function is an alias for querystring.stringify().
2. The querystring.decode() function is an alias for querystring.parse().
*/
const querystring = require('node:querystring')
const obj = {
name: 'zhang san',
age: 18
}
const result1 = querystring.encode(obj)
console.log(result1)
const result2 = querystring.decode(result1)
console.log(result2)
4.escape&unescape
js
/*
querystring.escape()方法以针对 URL 查询字符串的特定要求进行优化的方式对给定的str执行 URL 百分比编码。
querystring.escape()方法由querystring.stringify()使用,一般不希望直接使用。
导出它主要是为了允许应用程序代码在必要时通过将querystring.escape分配给替代函数来提供替换的百分比编码实现。
*/
const querystring = require('node:querystring')
const escaped = querystring.escape('name=John Doe')
console.log(escaped)
// 输出: 'name%3DJohn%20Doe'
const unescaped = querystring.unescape(escaped)
console.log(unescaped)
// 输出: 'name=John Doe'