- Node.js 教程
- Node.js - 首页
- Node.js - 简介
- Node.js - 环境搭建
- Node.js - 第一个应用程序
- Node.js - REPL 终端
- Node.js - 命令行选项
- Node.js - 包管理器 (NPM)
- Node.js - 回调函数概念
- Node.js - 上传文件
- Node.js - 发送邮件
- Node.js - 事件
- Node.js - 事件循环
- Node.js - 事件发射器
- Node.js - 调试器
- Node.js - 全局对象
- Node.js - 控制台
- Node.js - 进程
- Node.js - 应用程序扩展
- Node.js - 打包
- Node.js - Express 框架
- Node.js - RESTFul API
- Node.js - 缓冲区
- Node.js - 流
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 入门
- Node.js - MySQL 创建数据库
- Node.js - MySQL 创建表
- Node.js - MySQL 插入数据
- Node.js - MySQL 从表中查询数据
- Node.js - MySQL 条件查询
- Node.js - MySQL 排序
- Node.js - MySQL 删除数据
- Node.js - MySQL 更新数据
- Node.js - MySQL 连接查询
- Node.js MongoDB
- Node.js - MongoDB 入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB 插入数据
- Node.js - MongoDB 查找数据
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB 删除数据
- Node.js - MongoDB 更新数据
- Node.js - MongoDB 限定结果
- Node.js - MongoDB 连接查询
- Node.js 模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - 实用程序模块
- Node.js - Web 模块
- Node.js 有用资源
- Node.js - 快速指南
- Node.js - 有用资源
- Node.js - 讨论
Node.js - querystring.stringify() 方法
Node.js querystring.stringify() 方法通过迭代对象的自身属性,从提供的对象生成 URL 查询字符串。此方法可以序列化对象中传递的值,例如 字符串、数字、大整数、布尔值、字符串数组、数字数组、布尔值数组和大整数数组。
在序列化过程中,查询字符串的百分比编码字符默认情况下将假定使用 UTF-8 编码。必须指定 decodeURIComponent 选项才能解码其他字符编码。
语法
以下是 Node.js querystring.stringify() 方法 的语法:
querystring.stringify(obj[, sep[, eq[, options]]])
参数
此方法接受四个参数。如下所述。
str − 此参数指定要序列化为 URL 查询字符串的对象。
sep − 此参数描述一个子字符串,用于在查询字符串中定义键值对。默认值为 '&'。
eq − 此参数描述一个子字符串,用于在查询字符串中定义键和值。默认值为 '='。
options − 这是一个对象,允许修改方法的行为。以下对此对象的属性进行了描述:
encodeURIComponent − 此函数用于将 URL 不安全的字符转换为查询字符串中的百分比编码。默认情况下,它是 querystring.esacpe()。
返回值
此方法通过迭代对象的“自身属性”,从提供的 obj 返回一个 URL 查询字符串。
示例
如果我们向 Node.js querystring.stringify() 方法指定一个 URL 对象,它将从给定对象返回一个序列化的 URL 查询字符串。
在下面的示例中,我们将一个带有属性的对象传递给 Node.js querystring.stringify() 方法。
const { url } = require('node:inspector');
const querystring = require('node:querystring');
var QueryString = {
User: 'john',
role: 'softwareeng',
tech: 'HTML',
permission: 'false'
}
var result = querystring.stringify(QueryString);
console.log(result);
输出
以下是上述程序的输出:
internal/modules/cjs/loader.js:596 throw err; ^ Error: Cannot find module 'node:inspector' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:594:15) at Function.Module._load (internal/modules/cjs/loader.js:520:25) at Module.require (internal/modules/cjs/loader.js:650:17) at require (internal/modules/cjs/helpers.js:20:18) at Object.<anonymous> (/home/cg/root/63a03fcfc3513/main.js:1:79) at Module._compile (internal/modules/cjs/loader.js:702:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10) at Module.load (internal/modules/cjs/loader.js:612:32) at tryModuleLoad (internal/modules/cjs/loader.js:551:12) at Function.Module._load (internal/modules/cjs/loader.js:543:3)
注意 − 要查看实际结果,请在本地执行上述代码。
执行上述程序后,querystring.stringify() 将从给定对象的自身属性返回一个 URL 字符串。
User=john&role=softwareeng&tech=HTML&permission=false
示例
如果我们将任何值传递给 Node.js querystring.stringify() 方法的 sep 和 eq 参数,它将使用相同的定界符从对象返回 URL 查询字符串。
在下面的示例中,我们尝试向 Node.js querystring.stringify() 方法的 sep 参数提供 &&,向 eq 参数提供 −。
const { url } = require('node:inspector');
const querystring = require('node:querystring');
var QueryString = {
User: 'john',
role: 'softwareeng',
tech: 'HTML',
permission: 'false'
}
var result = querystring.stringify(QueryString, "&&", "−");
console.log(result);
输出
以下是上述程序的输出:
internal/modules/cjs/loader.js:596 throw err; ^ Error: Cannot find module 'node:inspector' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:594:15) at Function.Module._load (internal/modules/cjs/loader.js:520:25) at Module.require (internal/modules/cjs/loader.js:650:17) at require (internal/modules/cjs/helpers.js:20:18) at Object.<anonymous> (/home/cg/root/63a03fcfc3513/main.js:1:79) at Module._compile (internal/modules/cjs/loader.js:702:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10) at Module.load (internal/modules/cjs/loader.js:612:32) at tryModuleLoad (internal/modules/cjs/loader.js:551:12) at Function.Module._load (internal/modules/cjs/loader.js:543:3)
注意 − 要查看实际结果,请在本地执行上述代码。
执行上述程序后,querystring.stringify() 将返回一个 URL 字符串,其中包含相同的定界符。
User−john&&role−softwareeng&&tech−HTML&&permission−false
示例
即使我们将有限整数类型的值传递给 obj 属性,Node.js querystring.stringify() 方法也会序列化返回的 URL 查询字符串。
在下面的程序中,我们尝试在 obj 中传递一个整数类型的值。
const { url } = require('node:inspector');
const querystring = require('node:querystring');
var QueryString = {
4355: 4565,
role: 'softwareeng',
tech: 'HTML',
permission: 'false'
}
var result = querystring.stringify(QueryString, "&&&", "===");
console.log(result);
输出
以下是上述程序的输出:
internal/modules/cjs/loader.js:596 throw err; ^ Error: Cannot find module 'node:inspector' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:594:15) at Function.Module._load (internal/modules/cjs/loader.js:520:25) at Module.require (internal/modules/cjs/loader.js:650:17) at require (internal/modules/cjs/helpers.js:20:18) at Object.<anonymous> (/home/cg/root/63a03fcfc3513/main.js:1:79) at Module._compile (internal/modules/cjs/loader.js:702:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10) at Module.load (internal/modules/cjs/loader.js:612:32) at tryModuleLoad (internal/modules/cjs/loader.js:551:12) at Function.Module._load (internal/modules/cjs/loader.js:543:3)
注意 − 要查看实际结果,请在本地执行上述代码。
如果执行上述程序,则输出如下所示。
4355===4565&&&role===softwareeng&&&tech===HTML&&&permission===false
