美文网首页
Node的QueryString模块

Node的QueryString模块

作者: DontPushMeForev | 来源:发表于2017-07-25 16:50 被阅读0次

    querystring模块提供了一些实用工具,主要是用来解析和格式化查询字符串。

    查询字符串

    在一个完整的URL字符串里,从“?”字符之后(不包括“?”字符)到 “#” 字符之前(如果存在“#”字符)或者到该URL字符串结束的这一部分称为查询字符串。

    因为涉及到URL,所以querystring模块经常搭配url模块一起使用。

    url可以参考:http://www.jianshu.com/p/d94185e25d8f

    querystring是node的内置模块,所以可以直接引进来使用

    const qs = require('querystring');

    方法:

    1.querystring.parse(str [,seq [,eq [,options]]])

    querystring.parse()主要用来解析查询字符串,返回一个对象

    str          要解析的URL查询字符串

    seq        用来界定查询字符串中的键值对的子字符串 默认为“&”

    eq        用来界定查询字符串中的键与值得子字符串 默认为“=”

    options<object>  maxKeys 制定要解析的键的最大数量默认1000制定为0则移除该限制   

    小栗子:

     querystring.parse("user=abc&pass=123456&sex=male");

        {user:'abc',pass:'123456',sex:'male'}

    //遇到复选框时会转换成一个数组> querystring.parse("user=abc&pass=123456&interests=fishing&interests=reading"); 

     {    

          user:'abc',

           pass:'123456',

           interests:['fishing','reading']

     }

    //使用“=”划分键值对> 

    querystring.parse("user=abc&pass=123456&sex=male","="); 

      {user:'','abc&pass':'','123456&sex':'',male:''}

      //使用“:”划分键和值

    querystring.parse("user=abc&pass=123456&sex=male","&",":");

    {'user=abc':'','pass=123456':'','sex=male':''}

    //设定解析的键数量为

    1> querystring.parse("user=abc&pass=123456&sex=male","&","=",{maxKeys:1});

    {user:'abc'}

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

    querystring.stringify()方法作用是将对象转换成查询字符串

    obj 必须制定  要转换的对象

    sep 可选  用于指定查询字符串中的分割字符,默认“&”

    eq  可选  用于制定查询字符串中的分配字符 默认“=”

    小栗子

    querystring.stringify({user:"abc",age:18,sex:"male"});'

    user=abc&age=18&sex=male'

    相关文章

      网友评论

          本文标题:Node的QueryString模块

          本文链接:https://www.haomeiwen.com/subject/frtgkxtx.html