Node.jsクエリ文字列の詳細説明

小云云
リリース: 2018-02-01 09:16:26
オリジナル
1496 人が閲覧しました

クエリ文字列モジュールは、ツールの 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
//连同&和=一起编码了
ログイン後にコピー

関連する推奨事項:

NodeJS の queryString の概要を共有する

js_javascript スキルを使用して QueryString を取得する方法の概要

node.js_node で querystring.parse メソッドを使用する手順。 js

以上がNode.jsクエリ文字列の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート