モジュールクエリ文字列
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
8const 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
10const 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部分文字列のセキュリティエンコーディング
1static String querystring.escape(String str);
呼び出しパラメータ:
- str: エンコードされる文字列url
返される結果:
- String、エンコードされた文字列を返します
unescape
url安全な文字列デコード
1static String querystring.unescape(String str);
呼び出しパラメータ:
- str: デコードされる文字列url
返される結果:
- String、デコードされた文字列を返します
parse
クエリ文字列を解析する
1
2
3
4static HttpCollection querystring.parse(String str,
String sep = "&",
String eq = "=",
Object opt = {});
呼び出しパラメータ:
- str: String、解析される文字列
- sep: 文字列、解析中に使用される分割文字列、デフォルトは &
- eq: String、解析中に使用される割り当て文字列、デフォルトは =
- opt: オブジェクト、解析パラメータ、まだサポートされていません
返される結果:
- HttpCollection、デコードされたオブジェクトを返します
stringify
オブジェクトをクエリ文字列にシリアル化します。
1
2
3
4static String querystring.stringify(Object obj,
String sep = "&",
String eq = "=",
Object opt = {});
呼び出しパラメータ:
- obj: オブジェクト、シリアル化するオブジェクト
- sep: String、シリアル化中に使用される分割文字列、デフォルトは &
- eq: String、シリアル化中に使用される割り当て文字列、デフォルトは =
- opt: オブジェクト、解析パラメータ、まだサポートされていません
返される結果:
- String、シリアル化された文字列を返します
