Node.js querystring模块

Node.js v7.4.0 Documentation

  • Query String

    • querystring.escape(str)
    • querystring.unescape(str)
    • querystring.stringify(obj[, sep[, eq[, options]]])
    • querystring.parse(str[, sep[, eq[, options]]])

Query String

Stability: 2 - Stable

The querystring module provides utilities for parsing and formatting URL query strings.

querystring模块提供了一个工具,用来解析和格式化URL的查询字符。(在node命令行模式被默认引入,但在node脚本中需要显示引入)。

const querystring = require('query_string'); 

querystring.escape(str)、querystring.unescape(str)

The querystring.escape() method performs URL percent-encoding on the given str in a manner that is optimized for the specific requirements of URL query strings.

querystring.escape(str)方法在给定的字符串上执行URL百分号编码,也可以说是为了优化URL查询字符串的特殊需求。

querystring.escape('game=剑侠情缘');
//返回 'game%3D%E5%89%91%E4%BE%A0%E6%83%85%E7%BC%98'

querystring.escape('+-*/%#@!,.;:');
//返回 '%2B-*%2F%25%23%40!%2C.%3B%3A',可以看到-*!是会原样打出的其他的会被编码,详细参看URLEncode编码规则。

var escapeStr = querystring.escape('game=剑侠情缘&company=西山居');
//返回 'game%3D%E5%89%91%E4%BE%A0%E6%83%85%E7%BC%98%26company%3D%E8%A5%BF%E5%B1%B1%E5%B1%85'
querystring.unescape(escapeStr);
//返回 'game=剑侠情缘&company=西山居'

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

  • obj <Object> The object to serialize into a URL query string
  • sep <String> The substring used to delimit key and value pairs in the query string. Defaults to ‘&’.
  • eq <String>. The substring used to delimit keys and values in the query string. Defaults to ‘=’.
  • options
    • encodeURIComponent <Function> The function to use when converting URL-unsafe characters to percent-encoding in the query string. Defaults to querystring.escape().

querystring.parse返回一个JSON对象,此时且所有的值都会变为字符串。

var obj = new Object();
obj.name = 'sword';
obj.age = 24;
obj.company = '西山居';

var str1 = querystring.stringify(obj);
//返回  'name=sword&age=24&company=%E8%A5%BF%E5%B1%B1%E5%B1%85'

querystring.parse(str1);
//返回 {name: 'sword', age: '24', compony: '西山居'}

var str2 = querystring.stringify(obj, ',', ':', {encodeURLComponent:undefined});
//返回 'name:sword,age:24,company:%E8%A5%BF%E5%B1%B1%E5%B1%85'

querystring.parse(str2, ',', ':');
//返回 {name: 'sword', age: '24', compony: '西山居'}

注意:最后一个encodeURLComponent的参数不管怎么填结果都是一样的。

该函数和 JSON.stringify(value [, replacer] [, space]) 有着很大的区别,详细请看鄙人的JSON模块一文:http://blog.csdn.net/chy555chy/article/details/52552548

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值