js qs序列化数据 npmi qs --save

本文介绍QS库的安装及核心功能:将URL参数序列化为对象或将对象序列化为URL参数字符串。涵盖npm安装方法、主要API如stringify与parse的使用技巧,并提供了具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

qs的安装
npm i qs --save
主要为两个方法

string.parse()= 或者 =& 的字符串截取成为 obj格式
允许在查询字符串中使用[]的方式创建嵌套的对象。例如,字符串'name1[name2]=val'可以转换为嵌套对象
{
	name1: {
		name2: 'val'
	}
}

obj.stringfy() 将对象序列化为url后缀模式字符串
qs序列化url为对象
import Qs from 'qs'

/** 将url解析为对象的格式 */
export const qsUrlToObj = url => {
  let i = url.indexOf('?')

  if (i === -1) return {}

  url = url.substring(i + 1)

  return Qs.parse(url)
}

qs 将对象序列化为url后缀模式字符串 &拼接
{name:'zhangsan',age:12,year:2014}
将传入的对象转化为 name=zhangsan&age=12&year=2014
/** 对象序列化 */
export const qsStringfy = obj => {
  return Qs.stringify(obj) // 只要不是对象,全部都返回的是空字符串
}

qs 将字符串序列化为对象
/**
 * 字符串序列化为对象
 * 允许在查询字符串中使用[]的方式创建嵌套的对象。例如,字符串'name1[name2]=val'可以转换为嵌套对象
 * @param {*} string 需要序列化的字符串
 * @param {*} delimiter 序列化时的分隔符,默认为 &,还支持其它以及正则表达式,比如 /[;,]/
 */
export const qsParse = (string, delimiter = '&') => {
  return Qs.parse(string, delimiter)
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值