@just4/querystring
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

@just4/querystring

提供 URL 查询字符串(query string)的操作接口。

安装

npm i @just4/querystring

调用

parse

parse 函数可以把一段查询字符串解析为对象:

import { parse } from '@just4/querystring';
parse('id=0&str=hello'); // { id: '0', str: 'hello' }

一般情况下,解析结果的 keyvalue 都是字符串。然而,如果查询字符串中含有重复的 key,那么解析结果中该 key 对应的 value 就是字符串数组。

parse('id=0&id=1'); // { id: ['0', '1'] }

stringify

stringify 函数可以把对象序列化为查询字符串:

import { stringify } from '@just4/querystring';
stringify({ id: '0', str: 'hello' }); // 'id=0&str=hello'

如果值是数组,则会遍历数组里面的每一项,均以对应的 key 进行序列化。

stringify({ id: ['0', '1'] }); // 'id=0&id=1'

注意:如果值是数组以外的引用类型,其序列化结果将是空字符串。例如:

stringify({ obj: { id: 0 } }); // 'obj='

concat

concat 用于给指定 URL 或路径追加查询字符串。即使 URL 或路径中包含查询字符串或者锚点,也可以正常追加:

import { concat } from '@just4/querystring';
concat('https://abc.com/?a=1#hash', {
  b: 2,
  c: 3
}); // 'https://abc.com/?a=1&b=2&c=3#hash'

replace

replace 用于替换查询字符串中指定参数的值。它的行为与字符串的同名方法类似,只有匹配上才会替换:

import { replace } from '@just4/querystring';
replace('abc?a=1&b=2', { a: 2 }); // 'abc?a=2&b=2'
replace('abc?a=1&b=2', { c: 3 }); // 'abc?a=1&b=2'

相关文档

Changelog

v2.0.0

  • 新增 replace 方法。
  • appendToURL 方法改名为 concat
  • 优化 parsestringify 的内部实现。
  • stringifyconcatdata 参数调整为 any 类型。
  • stringify 序列化数组以外的引用类型时,结果为空字符串。
  • parse 的第一个参数不为字符串类型时,返回空对象而不是抛出异常。

v1.0.1

  • package.json 中增加 mainminiprogram 两个字段。

Package Sidebar

Install

npm i @just4/querystring

Weekly Downloads

5

Version

2.0.0

License

MIT

Unpacked Size

10.6 kB

Total Files

17

Last publish

Collaborators

  • heeroluo