querystring は文字通りクエリ文字列を意味し、通常は http リクエストによって運ばれるデータを解析します。 querystring モジュールは 4 つのメソッドのみを提供しており、これら 4 つのメソッドは対応しています。
これら 4 つのメソッドは、querystring.parse と querystring.stringify、querystring.escape、querystring.unescape です。
まず第一に、querystring モジュールを使用する前に、それを要求する必要があります:
const querystring = require("querystring");
次に、モジュールの下でメソッドを使用できます:
1. querystring.parse(str,separator,eq, options)
parse メソッドは、文字列をオブジェクトに逆シリアル化します。
パラメータ:
str は逆シリアル化する必要がある文字列を指します。
セパレータ (オプション) は文字列 str を分割するために使用される文字または文字列を指します。 デフォルト値は "&" です。オプション) は、キーと値を分割するために使用される文字または文字列を指します。デフォルト値は "=";
options (オプション) このパラメーターは、maxKeys と decodeURIComponent の 2 つの属性を設定できるオブジェクトです:
1 。 maxKeys: 解析されたキーと値のペアの最大値を指定する数値型を渡します。デフォルト値は 1000 です。0 に設定すると、解析されたキーの数の制限が解除されます
: 2.decodeURIComponent: を渡します。 % を含む文字列を解析する関数。デフォルト値は querystring.unescape
です。公式 API の例では、gbkDecodeURIComponent メソッドを使用すると、gbkDecodeURIComponent が定義されていないことを示すエラーが報告されます。これは、gbkDecodeURIComponent メソッドを使用する前に定義する必要があるためです。 API では Assuming gbkDecodeURIComponent function 既に存在する... とも書かれていますが、この文は「gbkDecodeURIComponent メソッドが既に存在すると仮定する」という意味です。
querystring.unescape
。在官方API的例子中,使用gbkDecodeURIComponent这个方法会报错,显示gbkDecodeURIComponent is no defined,这是因为在使用这个gbkDecodeURIComponent这个方法之前需要先进行定义。在API中也写了Assuming gbkDecodeURIComponent function already exists...这句话的意思是”假设这个gbkDecodeURIComponent方法已经存在”。
例子1,querystring.parse
querystring.parse("name=whitemu&sex=man&sex=women"); /* return: { name: 'whitemu', sex: [ 'man', 'women' ] } */ querystring.parse("name=whitemu#sex=man#sex=women","#",null,{maxKeys:2}); /* return: { name: 'whitemu', sex: 'man' } */
二、querystring.stringify(obj,separator,eq,options)
stringify这个方法是将一个对象序列化成一个字符串,与querystring.parse
相对。
参数:
obj指需要序列化的对象
separator(可省)用于连接键值对的字符或字符串,默认值为"&";
eq(可省)用于连接键和值的字符或字符串,默认值为"=";
options(可省)传入一个对象,该对象可设置encodeURIComponent这个属性:
1.encodeURIComponent:值的类型为function,可以将一个不安全的url字符串转换成百分比的形式,默认值为querystring.escape()
。
例子2,querystring.stringify
querystring.stringify({name: 'whitemu', sex: [ 'man', 'women' ] }); /* return: 'name=whitemu&sex=man&sex=women' */ querystring.stringify({name: 'whitemu', sex: [ 'man', 'women' ] },"*","$"); /* return: 'name$whitemu*sex$man*sex$women' */
三、querystring.escape(str)
escape可使传入的字符串进行编码
例子3,querystring.escape
querystring.escape("name=慕白"); /* return: 'name%3D%E6%85%95%E7%99%BD' */
四、querystring.unescape(str)
unescape方法可将含有%的字符串进行解码
例子4,querystring.unescape
querystring.unescape('name%3D%E6%85%95%E7%99%BD'); /* return: 'name=慕白' */
querystring这个模块相对的还是比较简单,仅有4个方法。
1、querystring.stringify
序列化;
2、querystring.parse
反序列化;
3、querystring.escape
编码;
4、querystring.unescape
例 1、querystring.parse
querystring.parse
相対。 🎜🎜🎜パラメータ: 🎜🎜🎜 objはシリアル化する必要があるオブジェクトを参照します🎜🎜 セパレータ(オプション)はキーと値のペアの文字または文字列を接続するために使用されます、デフォルト値は「&」です;🎜🎜 eq (キーと値を接続する文字または文字列。デフォルト値は "=;🎜🎜 options (オプション) encodeURIComponent 属性を設定できるオブジェクトを渡します: 🎜🎜 1. encodeURIComponent: 値タイプは関数で、安全でない URL 文字列をパーセント形式に変換します。デフォルト値は querystring.escape()
です。 🎜🎜🎜例 2、querystring.stringify🎜🎜🎜🎜🎜rrreee🎜🎜3、querystring.escape(str)🎜🎜🎜escape は受信文字列をエンコードできます 🎜🎜🎜例 3、querystring.escape🎜🎜🎜 🎜りー🎜 🎜4. querystring.unescape(str)🎜🎜🎜unescapeメソッドは%🎜🎜🎜を含む文字列をデコードできます例4、querystring.unescape🎜🎜🎜🎜🎜rrreee🎜🎜querystringモジュールは比較的単純で、メソッドは4つだけです。 🎜🎜🎜 1. querystring.stringify
シリアル化;🎜🎜 2. querystring.parse
逆シリアル化;🎜🎜 3. querystring.escape
エンコーディング;🎜 🎜 4. querystring.unescape
デコード;🎜以上がNode.jsでquerystringモジュールのサンプルコードを使用する方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。