「?」からの完全なURL文字列のこの部分の部分(除外?)から「#」(#が存在する場合)またはURL文字列の最後まで(#が存在しない場合)はクエリ文字列と呼ばれます。
クエリ文字列モジュールの解析方法を使用して、文字列をオブジェクトに変換できます。解析方法の使用は次のとおりです。
QueryString.Parse(str、[sep]、[eq]、[options]);
strは変換されたクエリ文字列を表します。
9月のセパレーター。文字列、デフォルトは&
Eq。この文字列の割り当て文字は、デフォルトで=。 "="左が鍵であり、右は値です。
オプション:整数値タイプのMaxKeys属性を使用して、変換されたオブジェクトの属性の数を指定できるオブジェクトです。 maxkeys属性値が0に設定されている場合、その効果はmaxkeys属性値を使用しないことに等しくなります。
コードコピーは次のとおりです。
var querystring = require( "querystring");
var str = "username = guoyansi&age = 40&sex = male";
var res = querystring.parse(str);
console.log( "1:%j"、res); // 1:{"username": "guoyansi"、 "age": "40"、 "sex": "male"}
res = querystring.parse(str、 "!");
console.log( "2:%j"、res); // 2:{"username": "guoyansi&age = 40&sex = mal"}
res = querystring.parse(str、 "&");
console.log( "3:%j"、res); // 3:{"username": "guoyansi"、 "age": "40"、 "sex": "MALE"}
str = "username = guoyansi!age = 40!sex = male";
res = querystring.parse(str、 "!");
console.log( "4:%j"、res); // 4:{"username": "guoyansi"、 "age": "40"、 "sex": "male"}
res = querystring.parse(str、 "!"、 "=");
console.log( "5:%j"、res); // 5:{"username": "guoyansi"、 "age": "40"、 "sex": "male"}
res = querystring.parse(str、 "!"、 ":");
console.log( "6:%j"、res); // 6:{"username = guoyansi": ""、 "age = 40": ""、 "sex = mal": ""}
res = querystring.parse(str、 "!"、 "="、{maxkeys:2});
console.log( "7:%j"、res); // 7:{"username": "guoyansi"、 "age": "40"}
Stringifyは、文字列をクエリ文字列に変換するための形式です。
QueryString.Stringify(obj、[sep]、[eq])
コードコピーは次のとおりです。
var querystring = require( "querystring");
var res = querystring.stringify({"username": "guoyansi"、 "age": "40"、 "sex": "male"});
console.log(res); // username = guoyansi&age = 40&sex = male
res = querystring.stringify({"username": "guoyansi"、 "age": "40"、 "sex": "male"}、 "!");
console.log(res); // username = guoyansi!age = 40!sex = male
res = querystring.stringify({"username": "guoyansi"、 "age": "40"、 "sex": "male"}、 "&"、 ":");
console.log(res); // username:guoyansi&age:40&sex:male
res = querystring.stringify({"username": "guoyansi"、 "age":["40"、 "24"]}、 "&"、 "=");
console.log(res); // username = guoyansi&age = 40&age = 24
URLモジュールでは、Parse()メソッドを使用して、URL文字列をオブジェクトに変換できます。 URL文字列の異なる内容に応じて、オブジェクトの可能なプロパティとそれらの意味は次のとおりです。
HREF:変換された元のURL文字列。
プロトコル:リクエストを行うときにクライアントが使用するプロトコル。
スラッシュ:プロトコルとパスの間に「//」セパレーターを使用します。
ホスト:URL文字列の完全なアドレスとポート番号。このアドレスは、IPアドレスまたはホスト名です。
AUTH:URL文字列の認証情報部分。
ホスト名:URL文字列の完全なアドレスは、IPアドレスまたはホスト名である場合があります。
検索:開始文字「?」を含むURL文字列のクエリ文字列は?」
パス:クエリ文字列を含むURL文字列のパス。
クエリ:URL文字列のクエリ文字列には、開始文字「?」、またはクエリ文字列に基づいて変換されたオブジェクトが含まれていません(クエリ属性値は、parse()メソッドで使用されるパラメーターに基づいて決定されます)。
ハッシュ:開始文字「#」を含むURL文字列のハッシュ文字列。
url.parse(urlstr、[parsequerystring]);
URLSTR:変換する必要があるURL文字列です。
パーセリーストリング:ブール値です。パラメーターがtrueの場合、クエリストリングモジュールは内部的に使用され、クエリ文字列をオブジェクトに変換します。パラメーター値がfalseの場合、変換操作は実行されません。デフォルトはfalseです。
コードコピーは次のとおりです。
var url = require( "url");
var str = "http:// user:pass@host、com:8080/user/user.php?username = sisi&age = 24&sex = male#name1";
var res = url.parse(str);
console.log(res);
コードコピーは次のとおりです。
{protocol: 'http:'、
スラッシュ:本当、
AUTH: 'ユーザー:パス'、
ホスト: 'ホスト:8080'、
ポート: '8080'、
ホスト名:「ホスト」、
ハッシュ: '#name1'、
検索: '?username = sisi&age = 24&sex = male'、
クエリ: 'username = sisi&age = 24&sex = male'、
PathName: '/,com/users/user.php'、
パス: '/,com/users/user.php?username=sisi&age=24&sex=male'、
href: 'http:// user:pass@host:8080/、com/users/user.php?username = sisi&age = 24&sex = male#name1'}
コードコピーは次のとおりです。
var url = require( "url");
var str = "http:// user:pass@host、com:8080/user/user.php?username = sisi&age = 24&sex = male#name1";
var res = url.parse(str、true);
console.log(res);
コードコピーは次のとおりです。
{protocol: 'http:'、
スラッシュ:本当、
AUTH: 'ユーザー:パス'、
ホスト: 'ホスト:8080'、
ポート: '8080'、
ホスト名:「ホスト」、
ハッシュ: '#name1'、
検索: '?username = sisi&age = 24&sex = male'、
クエリ:{username: 'sisi'、age: '24'、sex: 'male'}、
PathName: '/,com/users/user.php'、
パス: '/,com/users/user.php?username=sisi&age=24&sex=male'、
href: 'http:// user:pass@host:8080/、com/users/user.php?username = sisi&age = 24&sex = male#name1'}
最初の例と2番目の例の違いは、解析の2番目のパラメーターが結果のクエリの違いにつながることです
URL変換されたオブジェクトをURL文字列に変換できます。
コードコピーは次のとおりです。
var url = require( "url");
var str = "http:// user:pass@host、com:8080/user/user.php?username = sisi&age = 24&sex = male#name1";
var res = url.parse(str、true);
console.log(url.format(res));
消す:
http:// user:pass@host:8080/、com/users/user.php?username = sisi&age = 24&sex = male#name1
上記は、ノードのURL文字列とクエリ文字列の変換のすべての内容です。慎重な研究の後、実際には非常に簡単です。