クエリ文字列モジュールは、ツールの URL クエリ文字列を解析およびフォーマットするための API を提供します。この記事では、Node.js クエリ文字列解析クエリ文字列の関連内容を詳しく紹介し、参考と学習のために共有します。以下で詳細を見てみましょう。
1. querystring.parse(str[, sep[, eq[, options]]])
この API は、URL クエリ文字列をキーと値のコレクションに解析します
str:URL クエリ文字列
sep: 文字列内のキーと値のペアを分割するために使用される記号を示します。デフォルトは「&」です。
eq: クエリ文字列内のキーと値の間の記号を示すために使用されます。デフォルトは「=」です。
例は次のとおりです:
const querystring = require('querystring'); const url = require('url'); var queryUrl="http://localhost:8888/bb?name=李浩&memo=helloworld&memo=helloC"; queryUrl=url.parse(queryUrl).query; console.log(querystring.parse(queryUrl)) ; ---------------------------------------------------- // 输出 { name: '李浩', memo: [ 'helloworld', 'helloC' ] }
パラメータを使用した例:
const querystring = require('querystring'); const url = require('url'); var queryUrl="http://localhost:8888/bb?name==李浩*memo==helloworld*memo==helloC"; queryUrl=url.parse(queryUrl).query; console.log(querystring.parse(queryUrl,'*','==')) ; ---------------------------------------------------- // 输出 { name: '李浩', memo: [ 'helloworld', 'helloC' ] }
2. querystring.stringify(obj[, sep[, eq[, options]]])
この API は、指定されたオブジェクトから URL を生成します。オブジェクトの「独自のプロパティ」を走査することによるクエリ文字列。
obj は指定されたオブジェクトです
sep はキーと値のペアの間の区切り文字です、デフォルトは「&」です
eq はキーと値の間の接続記号です、デフォルトは「=」です
例は次のとおりです:
const qs=require("querystring"); var obj={ name: '李浩', memo: [ 'helloworld', 'helloC' ] } console.log( qs.stringify(obj) ) /* 输出 name=%E6%9D%8E%E6%B5%A9&memo=helloworld&memo=helloC; API默认是对中文进行了编码,下面我们再说编码解码的API */
パラメータ付きの例:
const qs=require("querystring"); var obj={ name: '李浩', memo: [ 'helloworld', 'helloC' ] } console.log( qs.stringify(obj,'@','==') )
出力名==%E6%9D%8E%E6%B5%A9@memo==helloworld@memo==helloC;
と思いますパラメータを取得する場合と取得しない場合の違いに気づきましたか?
3. querystring.unescape(str)
この API は、たとえば、stringify 操作を実行するときに、URL をデコードします。上記では、中国語がエンコードされ、URL 内の中国語の文字もエンコードされた形式に解析されます。この API は通常、querystring.parse() と組み合わせて使用されます
エンコードされた中国語の文字を含む上記の URL クエリ文字列を考えてみましょう。例
例は次のとおりです:
const qs = require("querystring"); var url = "name=%E6%9D%8E%E6%B5%A9&memo=helloworld&memo=helloC" var normalStr = qs.unescape(url) console.log( qs.parse(normalStr) ) //输出 { name: '李浩', memo: [ 'helloworld', 'helloC' ] }
4. querystring.escape(str)
この API は、中国語をエンコードするために、querystring と一緒に使用されることがよくあります。 stringify()
var obj = { name: '李浩', memo: ['helloworld', 'helloC'] }; console.log( qs.escape( qs.stringify(obj) ) ) // 输出 name%3D%25E6%259D%258E%25E6%25B5%25A9%26memo%3Dhelloworld%26memo%3DhelloC //连同&和=一起编码了
関連する推奨事項:
js_javascript スキルを使用して QueryString を取得する方法の概要
node.js_node で querystring.parse メソッドを使用する手順。 js
以上がNode.jsクエリ文字列の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。