1. 程式人生 > >NodeJS學習筆記 (14)URL查詢字符串-querystring(ok)

NodeJS學習筆記 (14)URL查詢字符串-querystring(ok)

學習筆記 option ons span none 官方 ID name 參數解析

模塊概述

在nodejs中,提供了querystring這個模塊,用來做url查詢參數的解析,使用非常簡單。

模塊總共有四個方法,絕大部分時,我們只會用到 .parse()、 **.stringify()**兩個方法。剩余的方法,感興趣的同學可自行查看文檔。

  • .parse():對url查詢參數(字符串)進行解析,生成易於分析的json格式。
  • .stringif():跟**.parse()**相反,用於拼接查詢查詢。
querystring.parse(str[, sep[, eq[, options]]])
querystring.stringify(obj[, sep[, eq[, options]]])

查詢參數解析:querystring.parse()

參數:querystring.parse(str[, sep[, eq[, options]]])

第四個參數幾乎不會用到,直接不討論. 第二個, 第三個其實也很少用到,但某些時候還是可以用一下。直接看例子

var querystring = require(‘querystring‘);
var str = ‘nick=casper&age=24‘;
var obj = querystring.parse(str);
console.log(JSON.stringify(obj, null, 4));

輸出如下

{
    "nick": "casper",
    "age": "24"
}

再來看下sepeq有什麽作用。相當於可以替換&=為自定義字符,對於下面的場景來說還是挺省事的。

var str1 = ‘nick=casper&age=24&extra=name-chyingp|country-cn‘;
var obj1 = querystring.parse(str1);
var obj2 = querystring.parse(obj1.extra, ‘|‘, ‘-‘);
console.log(JSON.stringify(obj2, null, 4));

輸出如下

{
    "name": "chyingp",
    "country": "cn"
}

查詢參數拼接:querystring.stringify()

querystring.stringify(obj[, sep[, eq[, options]]])

沒什麽好說的,相當於parse的逆向操作。直接看代碼

var querystring = require(‘querystring‘);

var obj1 = {
    "nick": "casper",
    "age": "24"
};
var str1 = querystring.stringify(obj1);
console.log(str1);

var obj2 = {
    "name": "chyingp",
    "country": "cn"
};
var str2 = querystring.stringify(obj2, ‘|‘, ‘-‘);
console.log(str2);

輸出如下

nick=casper&age=24
name-chyingp|country-cn

相關鏈接

官方文檔:https://nodejs.org/api/querystring.html

NodeJS學習筆記 (14)URL查詢字符串-querystring(ok)