Module 基礎模組

模組querystring

querystring 模組提供了一些用於解析和序列化URL 查詢參數的實用函數,使用querystring 模組可以方便地將URL 查詢參數解析為物件或字串,也可以將物件序列化為URL 查詢參數字串

以下是querystring模組的常用函數:

  • querystring.parse(str[, sep[, eq[, options]]]): 將URL 查詢參數解析為對象
  • querystring.stringify(obj[, sep[, eq[, options]]]): 將物件序列化為URL 查詢參數字串

其中,str就是要解析的URL 查詢參數字串,obj就是要序列化的物件。

以下範例說明如何使用querystring模組從URL 解析查詢參數為物件:

1 2 3 4 5 6 7 8
const querystring = require('querystring'); const url = 'https://www.example.com/path/to/page?foo=bar&baz=qux'; const search = new URL(url).search; // return '?foo=bar&baz=qux' const query = querystring.parse(search.slice(1)); // parse query string console.log(query); // output { foo: 'bar', baz: 'qux' }

以上程式碼先取得了一個URL,然後從中擷取出查詢參數部分,並使用querystring.parse()函數將其解析為對象,最後將物件列印出來。

接下來,範例說明如何使用querystring模組將物件序列化為URL 查詢參數字串:

1 2 3 4 5 6 7 8 9 10
const querystring = require('querystring'); const obj = { foo: 'bar', baz: 'qux' }; const query = querystring.stringify(obj); console.log(query); // output "foo=bar&baz=qux"

以上程式碼中,首先定義了一個對象,然後使用querystring.stringify()函數將其序列化為URL 查詢參數字串,最後將字串列印出來。

可以發現,使用querystring模組可以方便地對URL 查詢參數進行解析和序列化,減少了對字串的繁瑣處理,提高了程式碼的可讀性和可維護性。

靜態函數

escape

url部件字串安全編碼

1
static String querystring.escape(String str);

呼叫參數:

  • str: String, 要編碼的url

回傳結果:

  • String, 返回編碼的字串

unescape

url安全字串解碼

1
static String querystring.unescape(String str);

呼叫參數:

  • str: String, 要解碼的url

回傳結果:

  • String, 返回解碼的字串

parse

解析query 字串

1 2 3 4
static HttpCollection querystring.parse(String str, String sep = "&", String eq = "=", Object opt = {});

呼叫參數:

  • str: String, 要解析的字串
  • sep: String, 解析時使用的分割字串,預設為&
  • eq: String, 解析時使用的賦值字串,預設為 =
  • opt: Object, 解析參數,暫未支持

回傳結果:


stringify

序列化一個物件為query 字串

1 2 3 4
static String querystring.stringify(Object obj, String sep = "&", String eq = "=", Object opt = {});

呼叫參數:

  • obj: Object, 要序列化的對象
  • sep: String, 序列化時所使用的分割字串,預設為&
  • eq: String, 序列化時所使用的賦值字串,預設為 =
  • opt: Object, 解析參數,暫未支持

回傳結果:

  • String, 返回序列化後的字串