美文网首页
qs.stringify()、qs.parse()的使用

qs.stringify()、qs.parse()的使用

作者: 陈大事_code | 来源:发表于2019-05-05 16:49 被阅读0次
    • qs是什么?
    • 使用方法
    1. qs是npm仓库所管理的包,可以通过npm install qs安装,因此我们可以直接通过require('qs')引用得到哦~。

    2. 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})
      // 'arr[0]=2&arr[1]=3'
      

      这种格式可以进行转为序列化,但是url中会带有数组的下标a[0]、a[1],这并不是我们一般的处理办法。常用方法如下:

      // 常用并推荐使用
      let arr = [2,3]
      qs.stringify({a:arr},{indices:false});
      // 'arr=2&arr=3' 注意这个格式,一般使我们常用的格式哦~
      

      其中:indices:false,去除默认处理的方式。如果不写这个的话,则默认是第一种处理的方式(带下标)。

    3. qs.parse()则就是反过来啦,将我们通过qs.stringify()序列化的对象或者数组转回去。

      举个栗子:

      let url = 'id=1&name=chenchen'
      qs.parse(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
          })
        }
      })
    }
    

    相关文章

      网友评论

          本文标题:qs.stringify()、qs.parse()的使用

          本文链接:https://www.haomeiwen.com/subject/cvuhoqtx.html