最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Node.js学习之查询字符串解析querystring详解

来源:懂视网 责编:小采 时间:2020-11-27 22:28:46
文档

Node.js学习之查询字符串解析querystring详解

Node.js学习之查询字符串解析querystring详解:前言 查询字符串模块提供了解析和格式化工具URL查询字符串的API,本文将详细介绍关于Node.js查询字符串解析querystring的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 一、querystring.parse(str[, sep[,
推荐度:
导读Node.js学习之查询字符串解析querystring详解:前言 查询字符串模块提供了解析和格式化工具URL查询字符串的API,本文将详细介绍关于Node.js查询字符串解析querystring的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 一、querystring.parse(str[, sep[,

前言

查询字符串模块提供了解析和格式化工具URL查询字符串的API,本文将详细介绍关于Node.js查询字符串解析querystring的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

一、querystring.parse(str[, sep[, eq[, options]]])

这个API将URL查询字符串解析为键和值的集合

  • str:URL查询字符串
  • sep:标明字符串中用于划分键值对的符号,默认为“&”
  • eq:用以标明查询字符串中键和值之间的符号,默认为“=”
  • 例子如下:

    const querystring = require('querystring');
    const url = require('url');
    var queryUrl="http://localhost:8888/bb?name=李浩&memo=helloworld&memo=helloC";
    queryUrl=url.parse(queryUrl).query;
    console.log(querystring.parse(queryUrl)) ;
    ----------------------------------------------------
    // 
    输出 { name: '李浩', memo: [ 'helloworld', 'helloC' ] }

    带参数的例子:

    const querystring = require('querystring');
    const url = require('url');
    var queryUrl="http://localhost:8888/bb?name==李浩*memo==helloworld*memo==helloC";
    queryUrl=url.parse(queryUrl).query;
    console.log(querystring.parse(queryUrl,'*','==')) ; 
    ----------------------------------------------------
    // 
    输出 { name: '李浩', memo: [ 'helloworld', 'helloC' ] }

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

    这个API从一个给定的对象中生成一个URL查询字符串,通过遍历对象“自己的属性”。

  • obj为给定的对象
  • sep为键值对之间的分隔符,默认为“&”
  • eq为键和值之间的连接符号,默认为“=”
  • 例子如下:

    const qs=require("querystring");
    var obj={ name: '李浩', memo: [ 'helloworld', 'helloC' ] }
    console.log(
     qs.stringify(obj)
    )
    /* 
     
    输出 name=%E6%9D%8E%E6%B5%A9&memo=helloworld&memo=helloC; API默认是对中文进行了编码,下面我们再说编码解码的API */

    带参数的例子:

    const qs=require("querystring");
    var obj={ name: '李浩', memo: [ 'helloworld', 'helloC' ] }
    console.log(
     qs.stringify(obj,'@','==')
    )

    输出  name==%E6%9D%8E%E6%B5%A9@memo==helloworld@memo==helloC;

    相信应该看出了带参数和不带参数的区别了吧

    三、querystring.unescape(str)

    这个API是对URL查询字符串中的URL进行解码的,例如上面我们进行stringify操作的时候,中文就会被编码,那么中文在URL中的时候也会被解析为编码后的样子,这个API一般配合querystring.parse()使用

    我们就拿上面中文出现编码的URL查询字符串来举例

    例子如下:

    const qs = require("querystring");
    var url = "name=%E6%9D%8E%E6%B5%A9&memo=helloworld&memo=helloC"
    var normalStr = qs.unescape(url)
    console.log(
     qs.parse(normalStr)
    )
    //
    输出 { name: '李浩', memo: [ 'helloworld', 'helloC' ] }

    四、querystring.escape(str)

    这个API相当于就是querystring.unescape(str)的逆向操作了,把中文编码,常和querystring.stringify()连同使用

    var obj = { name: '李浩', memo: ['helloworld', 'helloC'] };
    console.log(
     qs.escape(
     qs.stringify(obj)
     )
    )
    // 
    输出 name%3D%25E6%259D%258E%25E6%25B5%25A9%26memo%3Dhelloworld%26memo%3DhelloC //连同&和=一起编码了

    总结

    文档

    Node.js学习之查询字符串解析querystring详解

    Node.js学习之查询字符串解析querystring详解:前言 查询字符串模块提供了解析和格式化工具URL查询字符串的API,本文将详细介绍关于Node.js查询字符串解析querystring的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 一、querystring.parse(str[, sep[,
    推荐度:
    标签: 学习 node.js Nodejs
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top