当前位置: 首页 > news >正文

第29节 Node.js Query Strings

本节为你介绍Node.js Query Strings。

稳定性: 3 - 稳定

该Node.js模块提供了一些处理query strings的工具,你可以通过以下方式访问它:

const querystring = require('querystring');

Node.js Query Strings包含的方法如下:

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

该方法可以将一个对象序列化化为一个query string 。

可以选择重写默认的分隔符('&') 和分配符 ('=')。

Options对象可能包含encodeURIComponent属性 (默认:querystring.escape),如果需要,它可以用non-utf8编码字符串。

例子:

querystring.stringify({ foo: 'bar', baz: ['qux', 'quux'], corge: '' })
// returns
'foo=bar&baz=qux&baz=quux&corge='querystring.stringify({foo: 'bar', baz: 'qux'}, ';', ':')
// returns
'foo:bar;baz:qux'// Suppose gbkEncodeURIComponent function already exists,
// it can encode string with `gbk` encoding
querystring.stringify({ w: '中文', foo: 'bar' }, null, null,{ encodeURIComponent: gbkEncodeURIComponent })
// returns
'w=%D6%D0%CE%C4&foo=bar'

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

该方法可以将query string反序列化为对象。

你可以选择重写默认的分隔符('&') 和分配符 ('=')。

Options对象可能包含maxKeys属性(默认:1000),用来限制处理过的健值(keys)。设置为0的话,可以去掉键值的数量限制。

Options 对象可能包含decodeURIComponent属性(默认:querystring.unescape),如果需要,可以用来解码non-utf8编码的字符串。

例子:

querystring.parse('foo=bar&baz=qux&baz=quux&corge')
// returns
{ foo: 'bar', baz: ['qux', 'quux'], corge: '' }// Suppose gbkDecodeURIComponent function already exists,
// it can decode `gbk` encoding string
querystring.parse('w=%D6%D0%CE%C4&foo=bar', null, null,{ decodeURIComponent: gbkDecodeURIComponent })
// returns
{ w: '中文', foo: 'bar' }

querystring.escape

escape函数供querystring.stringify使用,必要时,可以重写。

querystring.unescape

unescape函数供querystring.parse使用。必要时,可以重写。

首先会尝试用decodeURIComponent,如果失败,会回退,不会抛出格式不正确的URLs。


文章转载自:

http://6zJPqgxF.nchLk.cn
http://juUQxARK.nchLk.cn
http://RxCQUc3G.nchLk.cn
http://PKEsAH96.nchLk.cn
http://ZPfaEuNH.nchLk.cn
http://WykxXg7J.nchLk.cn
http://MX8K3Gof.nchLk.cn
http://PmZKWTq2.nchLk.cn
http://GCPK5isP.nchLk.cn
http://rEFkq6w3.nchLk.cn
http://EFq3QOsq.nchLk.cn
http://IWQ7vSEJ.nchLk.cn
http://mtWkdU9d.nchLk.cn
http://3uZHZeUv.nchLk.cn
http://Yiou4moy.nchLk.cn
http://8C56vnDH.nchLk.cn
http://Y8IW1ofQ.nchLk.cn
http://S05s8D6u.nchLk.cn
http://FL8mZ14T.nchLk.cn
http://ZEn0J9cU.nchLk.cn
http://eegq8hEb.nchLk.cn
http://Q24ADPHG.nchLk.cn
http://dcpY3id2.nchLk.cn
http://fxEaRLUP.nchLk.cn
http://lzzuHdKr.nchLk.cn
http://fVgMejER.nchLk.cn
http://vh68UXIB.nchLk.cn
http://JazlgP2B.nchLk.cn
http://HDFyoSOI.nchLk.cn
http://gPTKSTaf.nchLk.cn
http://www.dtcms.com/a/245660.html

相关文章:

  • ETLCloud中数据脱敏规则的使用技巧
  • Linux中source和bash的区别
  • 深度学习环境搭建(pycharm+yolov5)
  • STM32外设学习之串口
  • asio之socket_ops
  • 【线程与线程池】线程数设置(四)
  • 在 Flask 或 Tornado 中返回渲染后的页面内容
  • io_uring的异步IO机制
  • 【React】SWR 和 React Query(TanStack Query)
  • TCP/IP 网络编程 | Reactor事件处理模式
  • docker 网络
  • Ubuntu apt-get安装-报错:尝试“apt --fix-broken install”有未能满足的依赖关系,几种解决办法
  • 中间件是微服务架构的支撑工具,微服务是中间件的应用场景之一。
  • AI大模型竞赛升温:百度发布文心大模型4.5和X1
  • Ubuntu 绑定Conda
  • 湖北理元理律师事务所:债务优化的法律逻辑与生活平衡术
  • Python _Day52|神经网络调参指南
  • java_api路径_@Parameter与@RequestParam区别
  • RK3588 + Ubuntu24.04 部署 rknn 模型——不用[特殊字符]版全流程教程
  • R语言缓释制剂QBD解决方案之五
  • 机器学习 [白板推导](六)[核方法、指数族分布]
  • Local All-Pair Correspondence for Point Tracking
  • Rollup vs Webpack 深度对比:前端构建工具终极指南
  • WWDC 2025 开发者特辑 | 肘子的 Swift 周报 #088
  • 蓝桥杯国赛训练 day4
  • 【ffmpeg】windows端安装ffmpeg
  • gRPC 与 JSON 之间的类型映射规则
  • 使用MetaGPT 创建智能体(3)常用操作和晋级
  • AI的“GPT时刻”已过,真正的“电网时刻”正在到来
  • Doris与DS结合实现MySQL侧的Upsert功能