关于qs.stringify()、qs.parse()、JSON.stringify()的使用
程序员文章站
2024-03-17 12:00:04
...
- qs是什么?
- 使用方法
-
qs是npm仓库所管理的包,可以通过npm install qs安装,因此我们可以直接通过require('qs')引用得到哦~。
-
qs.stringify()作用是将对象或者数组序列化成URL的格式。那么这句话是什么意思呢?
举两个栗子:
-
对象序列化
let obj = {
methods: 'query_stu'
id: 1,
name: 'chenchen'
}
qs.stringify(obj)
// methods=query_stu&id=1&name=chenchen 这就是我们的传到服务器的url
- 数组序列化
let arr = [2,3]
qs.stringify({a:arr})
// 'a[0]=2&a[1]=3'
这种格式可以进行转为序列化,但是url中会带有数组的下标a[0]、a[1],这并不是我们一般的处理办法。常用方法如下:
// 常用并推荐使用
let arr = [2,3]
qs.stringify({a:arr},{indices:false});
// 'a=2&a=3' 注意这个格式,一般使我们常用的格式哦~
其中:indices:false,去除默认处理的方式。如果不写这个的话,则默认是第一种处理的方式(带下标)。
3.qs.parse()则就是反过来啦,将我们通过qs.stringify()序列化的对象或者数组转回去。
举个栗子:
let url = 'id=1&name=chenchen'
qs.stringify(url)
// {id:1,name:chenchen}
最后贴一个我司的一个api,给大家一个真实的感受:
// 根据业务id查询业务费用列表
export function commonBuzCostPage(params) {
return request({
url: `/departmentCost/commonBuzCostPage`,
method: 'get',
params,
paramsSerializer: params => {
return qs.stringify(params, {
indices: false
})
}
})
}
作者:小冷花_code
链接:https://www.jianshu.com/p/7e64878fb210
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
qs.stringify() 和JSON.stringify()的区别:
var a = {name:'LIHAO',age:10};
qs.stringify(a) // 'name=LIHAO&age=10'
JSON.stringify(a) // '{"name":"LIHAO","age":10}'
var a = '{name:"LIHAO",age:10}';
qs.parse(a) //{ '{name:"LIHAO",age:10}': '' }
JSON.parse(c) //{ name: 'LIHAO', age: '10' }
var a=[{a:123},{a:345}]
qs.stringify(a) //'0[a]=123&1[a]=345'
上一篇: div背景颜色渐变(透明 对角 附赠颜色查询对照表)
下一篇: Centos Mysql定时自动备份
推荐阅读
-
关于qs.stringify()、qs.parse()、JSON.stringify()的使用
-
关于使用ActivityGroup实现活动跳转带来的问题 博客分类: Android_笔记 ActivityGroup子活动跳转Tab
-
关于Obb的使用
-
关于setInterval定时器的使用示例 博客分类: javascript JavaHTML
-
关于setInterval定时器的使用示例 博客分类: javascript JavaHTML
-
移动端关于使用字体的思考
-
C语言中关于字符串的使用,以及字符串的存储方式
-
TreeSet关于泛型的使用
-
关于使用markdown的一点心得
-
关于使用CELERY的一点心得