- 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
