首页 > 代码库 > querystring 模块

querystring 模块

  Node 中的 querystring 模块用于处理查询字符串,该模块使用 stringify(obj, [sep], [eq]) 和 parse(str, [sep], [eq], [options]) 来实现查询字符串和对象之间的转换。

stringify(obj, [sep], [eq])

  将对象序列化到查询字符串,各参数说明如下:

    obj:必要参数,表示待序列化的对象;

    sep:可选参数,表示查询字符串的分割符,默认为 ‘&‘ ;

    eq:可选参数,表示查询字符串的分配符,默认为 ‘=‘ ;

1 var querystring = require( ‘querystring‘ );
2 
3 var obj = { OrderNumber: ‘20140518001‘, ProductName: ‘Lumia920‘ };
4 console.log( querystring.stringify( obj ) );
5 console.log( querystring.stringify( obj, ‘|‘, ‘=>‘ ) );
6 
7 // 输出结果:
8 // OrderNumber=20140518001&ProductName=Lumia920
9 // OrderNumber=>20140518001|ProductName=>Lumia920

 

parse(str, [sep], [eq], [options])

  将查询字符串反序列化为对象,参数说明如下:

    str:必要参数,表示查询字符串;

    sep:可选参数,指定查询字符串的分割符,默认为 ‘&‘ ;

    eq:可选参数,指定查询字符串的分配符,默认为 ‘=‘ ;

    options:可选参数,通过 options 对象的 maxKeys 属性可以设置返回对象的键的数量;

 1 var querystring = require( ‘querystring‘ );
 2 
 3 var qs1 = ‘OrderNumber=20140518001&ProductName=Lumia920‘;
 4 var qs2 = ‘OrderNumber~20140518001|ProductName~Lumia920‘;
 5 
 6 console.log( querystring.parse( qs1 ) );
 7 console.log( querystring.parse( qs2, ‘|‘, ‘~‘, { maxKeys: 1 }) );
 8 
 9 // 输出结果:
10 // { OrderNumber: ‘20140518001‘, ProductName: ‘Lumia920‘ }
11 // { OrderNumber: ‘20140518001‘ }