在 Node.js 中,querystring 模块用于处理 URL 查询字符串。查询字符串是 URL 中的参数部分,通常以 key=value 形式出现,多个参数之间使用 & 连接。querystring 模块提供了将查询字符串解析为对象、将对象序列化为查询字符串的功能。

以下是一些 querystring 模块的基本用法示例:

1. 解析查询字符串:
    const querystring = require('querystring');

    const queryString = 'name=John&age=30&city=New York';

    // 将查询字符串解析为对象
    const parsedObject = querystring.parse(queryString);

    console.log(parsedObject);
    // 输出: { name: 'John', age: '30', city: 'New York' }

2. 序列化对象为查询字符串:
    const queryObject = {
      name: 'Alice',
      age: 25,
      city: 'London'
    };

    // 将对象序列化为查询字符串
    const serializedString = querystring.stringify(queryObject);

    console.log(serializedString);
    // 输出: 'name=Alice&age=25&city=London'

3. 自定义分隔符和分隔符编码:
    const queryObject = {
      name: 'Bob',
      age: 28,
      city: 'Paris'
    };

    // 使用分隔符 ';' 和分隔符编码 '#'
    const customSeparatorString = querystring.stringify(queryObject, ';', '#');

    console.log(customSeparatorString);
    // 输出: 'name#Bob;age#28;city#Paris'

4. 使用 querystring.escape 和 querystring.unescape 编码和解码特殊字符:
    const specialString = 'name=John Doe&city=New York';

    // 编码特殊字符
    const escapedString = querystring.escape(specialString);

    console.log(escapedString);
    // 输出: 'name%3DJohn%20Doe%26city%3DNew%20York'

    // 解码特殊字符
    const unescapedString = querystring.unescape(escapedString);

    console.log(unescapedString);
    // 输出: 'name=John Doe&city=New York'

querystring 模块是 Node.js 的核心模块之一,用于方便地处理 URL 查询字符串。在处理 HTTP 请求时,常常需要解析和构造查询字符串,querystring 提供了简便的方法来执行这些操作。


转载请注明出处:http://www.zyzy.cn/article/detail/4761/Node.js