美文网首页Node
Node querystring模块

Node querystring模块

作者: 漫漫前端 | 来源:发表于2017-03-09 18:32 被阅读40次

    前言

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

    查询字符串
    在一个完整的URL字符串里,从“?”字符之后(不包括“?”字符)到 “#” 字符之前(如果存在“#”字符)或者到该URL字符串结束的这一部分称为查询字符串。
    因为涉及到URL,所以querystring模块经常搭配url模块一起使用。

    开始

    querystring是nodejs内置的模块,因此可以直接引用进来使用

    const qs = require("querystring");
    

    方法

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

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

    • str <string> 要解析的URL查询字符串
    • seq <string> 用来界定查询字符串中的键值对的子字符串 默认为“&”
    • eq <string> 用来界定查询字符串中的键与值得子字符串 默认为“=”
    • 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/sxnwgttx.html