Node.js v25.0.0 ドキュメンテーション
- Node.js v25.0.0
- 目次
-
索引
- アサーションテスト
- 非同期コンテキストの追跡
- Async hooks
- Buffer
- C++アドオン
- Node-API を使用した C/C++ アドオン
- C++ embedder API
- 子プロセス
- Cluster
- コマンドラインオプション
- Console
- Crypto
- Debugger
- 非推奨のAPI
- Diagnostics Channel
- DNS
- Domain
- 環境変数
- エラー
- Events
- ファイルシステム
- Globals
- HTTP
- HTTP/2
- HTTPS
- Inspector
- 国際化
- モジュール: CommonJS モジュール
- モジュール: ECMAScript モジュール
- モジュール:
node:moduleAPI - モジュール: パッケージ
- モジュール: TypeScript
- Net
- OS
- Path
- Performance hooks
- パーミッション
- Process
- Punycode
- クエリストリング
- Readline
- REPL
- レポート
- 単一実行可能ファイルアプリケーション
- SQLite
- Stream
- String decoder
- テストランナー
- タイマー
- TLS/SSL
- トレースイベント
- TTY
- UDP/datagram
- URL
- ユーティリティ
- V8
- VM
- WASI
- Web Crypto API
- Web Streams API
- ワーカースレッド
- Zlib
- 他のバージョン
- オプション
Query string#
ソースコード: lib/querystring.js
node:querystring モジュールは、URL クエリストリングをパースおよびフォーマットするためのユーティリティを提供します。以下のようにしてアクセスできます。
const querystring = require('node:querystring');
querystring は <URLSearchParams> よりもパフォーマンスが高いですが、標準化された API ではありません。パフォーマンスが重要でない場合や、ブラウザのコードとの互換性が必要な場合は <URLSearchParams> を使用してください。
querystring.decode()#
querystring.decode() 関数は querystring.parse() のエイリアスです。
querystring.encode()#
querystring.encode() 関数は querystring.stringify() のエイリアスです。
querystring.escape(str)#
str<string>
querystring.escape() メソッドは、与えられた str に対して、URL クエリストリングの特定の要件に最適化された方法で URL パーセントエンコーディングを実行します。
querystring.escape() メソッドは querystring.stringify() によって使用され、通常は直接使用されることは想定されていません。これは主に、アプリケーションコードが必要に応じて querystring.escape に代替関数を代入することで、代替のパーセントエンコーディング実装を提供できるようにするためにエクスポートされています。
querystring.parse(str[, sep[, eq[, options]]])#
str<string> パースする URL クエリストリングsep<string> クエリストリング内のキーと値のペアを区切るために使用される部分文字列です。デフォルト:'&'。eq<string>。クエリストリング内のキーと値を区切るために使用される部分文字列です。デフォルト:'='。options<Object>decodeURIComponent<Function> クエリストリング内のパーセントエンコードされた文字をデコードする際に使用する関数です。デフォルト:querystring.unescape()。maxKeys<number> パースするキーの最大数を指定します。0を指定すると、キーの数の制限がなくなります。デフォルト:1000。
querystring.parse() メソッドは、URL クエリストリング (str) をキーと値のペアのコレクションにパースします。
例えば、クエリストリング 'foo=bar&abc=xyz&abc=123' は以下のようにパースされます。
{
"foo": "bar",
"abc": ["xyz", "123"]
}
querystring.parse() メソッドによって返されるオブジェクトは、JavaScript の Object をプロトタイプとして継承*しません*。これは、obj.toString() や obj.hasOwnProperty() のような典型的な Object のメソッドが定義されておらず、*動作しない*ことを意味します。
デフォルトでは、クエリストリング内のパーセントエンコードされた文字は UTF-8 エンコーディングを使用していると仮定されます。別の文字エンコーディングが使用されている場合は、代替の decodeURIComponent オプションを指定する必要があります。
// Assuming gbkDecodeURIComponent function already exists...
querystring.parse('w=%D6%D0%CE%C4&foo=bar', null, null,
{ decodeURIComponent: gbkDecodeURIComponent });
querystring.stringify(obj[, sep[, eq[, options]]])#
obj<Object> URL クエリストリングにシリアライズするオブジェクトsep<string> クエリストリング内のキーと値のペアを区切るために使用される部分文字列です。デフォルト:'&'。eq<string>。クエリストリング内のキーと値を区切るために使用される部分文字列です。デフォルト:'='。optionsencodeURIComponent<Function> URL で安全でない文字をクエリストリング内でパーセントエンコーディングに変換する際に使用する関数です。デフォルト:querystring.escape()。
querystring.stringify() メソッドは、与えられた obj の「自身のプロパティ」をイテレートすることによって、URL クエリストリングを生成します。
obj で渡された以下の型の値をシリアライズします: <string> | <number> | <bigint> | <boolean> | <string[]> | <number[]> | <bigint[]> | <boolean[]> 数値は有限でなければなりません。その他の入力値は空文字列に強制変換されます。
querystring.stringify({ foo: 'bar', baz: ['qux', 'quux'], corge: '' });
// Returns 'foo=bar&baz=qux&baz=quux&corge='
querystring.stringify({ foo: 'bar', baz: 'qux' }, ';', ':');
// Returns 'foo:bar;baz:qux'
デフォルトでは、クエリストリング内でパーセントエンコーディングが必要な文字は UTF-8 としてエンコードされます。別のエンコーディングが必要な場合は、代替の encodeURIComponent オプションを指定する必要があります。
// Assuming gbkEncodeURIComponent function already exists,
querystring.stringify({ w: '中文', foo: 'bar' }, null, null,
{ encodeURIComponent: gbkEncodeURIComponent });
querystring.unescape(str)#
str<string>
querystring.unescape() メソッドは、与えられた str に対して URL パーセントエンコードされた文字のデコードを実行します。
querystring.unescape() メソッドは querystring.parse() によって使用され、通常は直接使用されることは想定されていません。これは主に、アプリケーションコードが必要に応じて querystring.unescape に代替関数を代入することで、代替のデコード実装を提供できるようにするためにエクスポートされています。
デフォルトでは、querystring.unescape() メソッドは JavaScript の組み込み decodeURIComponent() メソッドを使用してデコードを試みます。それに失敗した場合は、不正な形式の URL でスローしない、より安全な同等のものが使用されます。